import numpy as np
import librosa 
import matplotlib.pyplot as plt
import pickle
from PyEMD import EMD
import numpy as np
import os
import pandas as pd
from sklearn.preprocessing import normalize
from scipy.signal import medfilt
from scipy.signal import savgol_filter
import datetime
from matplotlib.ticker import (MultipleLocator, FormatStrFormatter,
                               AutoMinorLocator)
from mpl_toolkits.axes_grid1 import make_axes_locatable
import matplotlib as mpl
mpl.rcParams['figure.dpi'] = 100
path_data = './my_data/'
path_store_figure = './figures/'
# df = pd.read_csv(path_data+'owid-covid-data.csv')  
url = 'https://covid19.who.int/WHO-COVID-19-global-data.csv'
df = pd.read_csv(url)
df.columns
Index(['Date_reported', 'Country_code', 'Country', 'WHO_region', 'New_cases',
       'Cumulative_cases', 'New_deaths', 'Cumulative_deaths'],
      dtype='object')
dates = df['Date_reported'].unique()
dates = [datetime.datetime.strptime(ts, "%Y-%m-%d") for ts in dates]
dates.sort()
sorteddates = [datetime.datetime.strftime(ts, "%Y-%m-%d") for ts in dates]
data_1 = []
data_2 = []
for i in range(len(dates)):
    data_1.append(np.sum(df.loc[df['Date_reported']==sorteddates[i]]['Cumulative_deaths'].values))
    data_2.append(np.sum(df.loc[df['Date_reported']==sorteddates[i]]['Cumulative_cases'].values))
    
countries = df['Country'].unique()
all_country = np.zeros((len(countries),len(sorteddates)))
for i in range(len(countries)):
    temp = df[df['Country']==countries[i]]
    for j in range(len(sorteddates)):
        temp_1 = temp[temp['Date_reported']==sorteddates[j]]
        if len(temp_1):
            all_country[i,j] = temp_1['New_cases']
plt.plot(all_country.T)
plt.show()
S = []
for i in range(all_country.shape[0]):
#     s = all_country[np.where(countries=='United States of America')[0][0],:]
    s = np.nan_to_num(all_country[i,:])+1e-10
    s[s<0] = 0
    s = s/np.max(np.abs(s))
    S.append(s)

# take fft
nfft = 512
S = np.array(S)
S_fft = np.abs(np.fft.rfft(S,nfft,axis=1))
# normalize
for i in range(S.shape[0]):
    S_fft[i,:] = S_fft[i,:]/(np.max(S_fft[i,:])+10e-10)
#mean and std 
S_fft = 20*np.log10(S_fft+10e-20)
S_mu = np.mean(S_fft,axis=0)
S_std = np.std(S_fft,axis=0)/np.sqrt(all_country.shape[0])



# plot time series
fig = plt.subplots(figsize=[6,4])
plt.xkcd()
ax = plt.subplot(1,1,1)

clr_1 = 'tab:blue'
ax.plot(np.sum(all_country,axis=0),label='WORLDWIDE')
ax.plot(all_country[np.where(countries=='United States of America')[0][0],:],label='USA',linewidth=.5)
ax.plot(all_country[np.where(countries=='India')[0][0],:],label='INDIA',linewidth=.5)
ax.plot(all_country[np.where(countries=='Brazil')[0][0],:],label='BRASIL',linewidth=.5)
ax.legend(loc='upper left',fontsize=10,frameon=False)
ax.grid(axis='both', color='gray', linestyle='--', linewidth=.75,alpha=.1)
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.set_xlabel('DAYS SINCE 3rd JAN 2020')
ax.set_ylabel('DAILY COVID-19 CASES')
# ax.text(.3,-5,'MAG. SPECTRUM OF \nDAILY CASES COVID TRACES \nAVG. ACROSS 252 COUNTRIES',\
#        c=clr_1,fontsize=6)
fmt = 'png'
plt.savefig('/Users/neeks/Desktop/Documents/work/code/python_codes/notebookCodes/coswara/figures/'\
                  +'covid_trace_spectrum.'+fmt, dpi=300, format=fmt,transparent=False,bbox_inches='tight')
plt.show()


# plot spectrum
fig = plt.subplots(figsize=[6,4])
ax = plt.subplot(1,1,1)

fs = 1
faxis = np.arange(0,nfft/2+1)*fs/nfft
clr_1 = 'tab:blue'
ax.plot(faxis,S_mu,c=clr_1,linewidth=2)
# ax.plot(faxis,S_mu - S_std,color='r',alpha=.3,linewidth=.5)
# ax.plot(faxis,S_mu + S_std,color='r',alpha=.3,linewidth=.5)
ax.vlines(1/7, -35, 0, colors='gray', linestyles='--',alpha=.3)
ax.vlines(2/7, -35, 0, colors='gray', linestyles='--',alpha=.3)
ax.grid(axis='both', color='gray', linestyle='--', linewidth=.75,alpha=.1)
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.set_xlabel('FREQUENCY [in 1/DAY]')
ax.set_ylabel('SPECTRAL POWER [in dB]')
ax.text(.3,-5,'MAG. SPECTRUM OF \nDAILY CASES COVID TRACES \nAVG. ACROSS 252 COUNTRIES',\
       c=clr_1,fontsize=6)
fmt = 'png'
plt.savefig('/Users/neeks/Desktop/Documents/work/code/python_codes/notebookCodes/coswara/figures/'\
                  +'covid_trace_time_domain.'+fmt, dpi=300, format=fmt,transparent=False,bbox_inches='tight')
plt.show()

# emd = EMD()
# IMFs = emd(s)
# s = np.nan_to_num(all_country[i,:])
# s = s - np.mean(s)
# s = s/np.max(np.abs(s))
# plt.plot(s)
plt.plot(s)
plt.show()
np.mean(s)
0.06170575692982901
fig = plt.subplots(figsize=(10,6))
ax = plt.subplot(1,1,1)
ax.semilogy(all_country[100,:],color='tab:orange')
ax.plot(total_cases['totalrecovered'],color='black')
ax.plot([i for i in total_cases['totaldeceased']],color='tab:green')
for i in range(len(total_cases['totalrecovered'])):
    ax.hlines(total_cases['totalrecovered'][i],i-14,i,colors='grey', linestyles='solid',alpha=0.3)
ax.xaxis.set_minor_locator(AutoMinorLocator())
ax.yaxis.set_minor_locator(AutoMinorLocator())
ax.tick_params(which='both', width=2)
ax.grid(True)
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.spines['bottom'].set_position(('axes', -0.05))
ax.yaxis.set_ticks_position('left')
ax.spines['left'].set_position(('axes', -0.05))
xticks = [0,55,76,95,109,123,len(total_cases['totalconfirmed'])]
ax.set_xticks(xticks)
ax.set_xticklabels([total_cases['date'][xticks[0]],total_cases['date'][xticks[1]],
                    total_cases['date'][xticks[2]],total_cases['date'][xticks[3]],
                    total_cases['date'][xticks[4]],total_cases['date'][xticks[5]],
                    total_cases['date'][-1]])
# axes.set_ylim([0,70])
plt.show()
/Users/neeks/miniconda2/envs/py36/lib/python3.6/site-packages/IPython/core/pylabtools.py:128: UserWarning: AutoMinorLocator does not work with logarithmic scale
  fig.canvas.print_figure(bytes_io, **kw)
fig,ax = plt.subplots(1,1,figsize=(16,12))
X, Y = np.arange(0,all_country.shape[1]), np.arange(0,all_country.shape[0])
im = ax.pcolormesh(X,Y, all_country, vmin=0, vmax=np.max(all_country), cmap='cubehelix_r')
plt.xlim(0,all_country.shape[1])
plt.yticks(np.arange(0,all_country.shape[0]), countries,rotation=0,fontsize=10)
cbar = fig.colorbar(im, ax=ax)
# cbar.set_label('CUMULATIVE DEATHS',size=13)
# plt.ylabel("COUNTRY",fontsize=13)
# plt.xlabel("DAYS",fontsize=13)
# plt.title('COVID-19 Fatality Spread Across Globe',fontsize=13)
plt.show()
# Create some mock data
fig, ax1 = plt.subplots(figsize=(9,6))

color = 'tab:red'
ax1.set_xlabel('DATE')
ax1.set_ylabel('CONFIRMED DEATHS [in Millions]', color=color, fontsize=14)
ax1.plot(np.array(data_1)/1e6, '-o',color=color,alpha=0.7)
ax1.tick_params(axis='y', labelcolor=color)
ax1.spines['top'].set_visible(False)
ax1.grid(True)
ax1.xaxis.set_minor_locator(AutoMinorLocator())
ax1.yaxis.set_minor_locator(AutoMinorLocator())
ax1.tick_params(which='both', width=2)
ax1.tick_params(which='major', length=7)
ax1.tick_params(which='minor', length=4, color='gray')
plt.xticks(fontsize=13)
plt.yticks(fontsize=13)
# plt.xticks([0,31,60,91,len(sorteddates)-1],\
#            ['11 Jan','11 Feb','11 Mar','11 Apr','16 May 2020'],rotation=0)

ax2 = ax1.twinx()  # instantiate a second axes that shares the same x-axis

color = 'tab:blue'
ax2.set_ylabel('CONFIRMED CASES [in Millions]', color=color,fontsize=14)  # we already handled the x-label with ax1
ax2.plot(np.array(data_2)/1e6,'-o', color=color,alpha=0.5)
ax2.tick_params(axis='y', labelcolor=color)
ax2.spines['top'].set_visible(False)
ax1.grid(True)
ax2.xaxis.set_minor_locator(AutoMinorLocator())
ax2.yaxis.set_minor_locator(AutoMinorLocator())
ax2.tick_params(which='both', width=2)
ax2.tick_params(which='major', length=7)
ax2.tick_params(which='minor', length=4, color='gray')
plt.xticks(fontsize=13)
plt.yticks(fontsize=13)
# plt.xticks([0,31,60,91,len(sorteddates)-1],\
#            ['11 Jan','11 Feb','11 Mar','11 Apr','16 May 2020'],rotation=0)
fig.tight_layout()  # otherwise the right y-label is slightly clipped
# plt.savefig(path_store_figure+"IS2020_coswara_covid_who.pdf", bbox_inches='tight')
plt.show()
print(sorteddates[0])
print(sorteddates[31])
print(sorteddates[60])
print(sorteddates[91])
print(sorteddates[121])
print(sorteddates[-1])

xticks = [0,31,60,91,121,len(sorteddates)-1]
2020-01-03
2020-02-03
2020-03-03
2020-04-03
2020-05-03
2020-12-02
import json
import requests
import seaborn as sns

sns.set(style="ticks")
plt.plot(daily_testing['samplereportedtoday'])
# plt.xlim([100,190])
[<matplotlib.lines.Line2D at 0x7ff848f444a8>]
    
resp = requests.get('https://api.covid19india.org/data.json')
if resp.status_code != 200:
    # This means something went wrong.
    raise ApiError('GET /tasks/ {}'.format(resp.status_code))
    
    
daily_testing = {}
daily_testing['totalsamplestested'] = []
daily_testing['samplereportedtoday'] = []
daily_testing['date'] = []

for item in resp.json()['tested']:
    if item['totalsamplestested']!='':
        daily_testing['totalsamplestested'].append(int(item['totalsamplestested']))
    else:
        daily_testing['totalsamplestested'].append(0)
    daily_testing['date'].append(item['updatetimestamp'])

daily_cases = {}
daily_cases['dailyconfirmed'] = []
daily_cases['dailydeceased'] = []
daily_cases['dailyrecovered'] = []
daily_cases['date'] = []

for item in resp.json()['cases_time_series']:
    daily_cases['dailyconfirmed'].append(int(item['dailyconfirmed']))
    daily_cases['dailydeceased'].append(int(item['dailydeceased']))
    daily_cases['dailyrecovered'].append(int(item['dailyrecovered']))
    daily_cases['date'].append(item['date'])
    
total_cases = {}
total_cases['totalconfirmed'] = []
total_cases['totaldeceased'] = []
total_cases['totalrecovered'] = []
total_cases['date'] = []

for item in resp.json()['cases_time_series']:
    total_cases['totalconfirmed'].append(int(item['totalconfirmed']))
    total_cases['totaldeceased'].append(int(item['totaldeceased']))
    total_cases['totalrecovered'].append(int(item['totalrecovered']))
    total_cases['date'].append(item['date'])
    
#     print('{} {} {} {}'.format(item['dailyconfirmed'], item['dailydeceased'],item['dailyrecovered'],item['date']))


    
mpl.rcParams.update(mpl.rcParamsDefault)
fig = plt.subplots(figsize=(9,5))
clr_1 = "tab:blue"
clr_2 = "tab:orange"
clr_3 = "tab:green"

ax = plt.subplot(1,1,1)
ax.semilogy([24*60*60/i if i>0 else 0 for i in daily_cases['dailyconfirmed']],color=clr_1,label='SOMEONE BECOMES A PATIENT',
           basey=2)
ax.plot([24*60*60/i if i>0 else 0 for i in daily_cases['dailyrecovered']],color=clr_2,label='SOMEONE RECOVERS')
ax.plot([24*60*60/i if i>0 else 0 for i in daily_cases['dailydeceased']],color=clr_3,label='SOMEONE DIES')
ax.xaxis.set_minor_locator(AutoMinorLocator())
ax.yaxis.set_minor_locator(AutoMinorLocator())
ax.tick_params(which='both', width=2)
ax.grid(axis='y', color='gray', linestyle='--', linewidth=.75,alpha=.1)
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.spines['bottom'].set_position(('axes', -.05))
ax.yaxis.set_ticks_position('left')

xticks = [0,55,76,95,109,123,153,184,215,len(total_cases['totalconfirmed'])-1]
cnt = 0
str_lock = ['FIRST CASE','LOCKDOWN-1','LOCKDOWN-2','LOCKDOWN-3','LOCKDOWN-4','UNLOCK-1','UNLOCK-2','UNLOCK-3'\
            ,'UNLOCK-4',' ']
xlabels = []
ind_1 = 6

for i in xticks:
    ax.vlines(i,min(total_cases['totaldeceased']),max(total_cases['totaldeceased']),
              linestyles ="--", colors ="gray",alpha=0.5,linewidth=.75)
    ax.vlines(i,min(total_cases['totaldeceased']),max(total_cases['totaldeceased']),
              linestyles ="--", colors ="gray",alpha=0.5,linewidth=.75)
    ax.text(x=i-4,y=25000,s=str_lock[cnt],rotation=90,fontsize=7,color='gray',alpha=0.6)
    if  i == len(total_cases['totalconfirmed']):
        xlabels.append(total_cases['date'][-1][:ind_1])
    else:
        xlabels.append(total_cases['date'][xticks[cnt]][:ind_1])
    ax.text(i-4,.3,xlabels[cnt],rotation=90,fontsize=7,color='gray',alpha=0.8)
    cnt = cnt+1
ax.set_ylabel('TIME [in secs]',fontsize=10)
ax.set_xlabel('DAYS SINCE FIRST CASE ',fontsize=10)
ax.text(220,1024,'by @neeksww',fontsize=8,rotation=90,color='gray',alpha=0.6)
ax.spines['top'].set_color('none')
ax.spines['bottom'].set_color('gray')
ax.spines["left"].set_color('gray')
ax.tick_params(axis='x', colors='gray')
# fmt = 'png'
# plt.savefig('/Users/neeks/Desktop/Documents/work/code/python_codes/notebookCodes/coswara/figures/'\
#                   +'covid_status_time_whole_india.'+fmt, dpi=300, format=fmt,transparent=False,bbox_inches='tight')
plt.show()
fig = plt.subplots(figsize=(8,6))
clr_1 = "tab:blue"
clr_2 = "tab:orange"
clr_3 = "tab:green"

ax1 = plt.subplot(1,1,1)
ax1.plot(np.arange(0,len(daily_cases['dailyconfirmed']),1),daily_cases['dailyconfirmed'],\
         color=clr_1,label='DAILY CASES')
ax1.plot(np.arange(0,len(daily_cases['dailyrecovered']),1),daily_cases['dailyrecovered'],\
         color=clr_2,label='DAILY RECOVERED')
ax1.grid(axis='y', color='gray', linestyle='--', linewidth=.75,alpha=.1)
# # for i in range(len(daily_cases['dailyrecovered'])):
# #     ax.hlines(daily_cases['dailyrecovered'][i],i-14,i,colors='grey', linestyles='solid',alpha=0.3)
# ax1.xaxis.set_minor_locator(AutoMinorLocator())
# ax1.yaxis.set_minor_locator(AutoMinorLocator())
ax1.spines['top'].set_color('none')
ax1.spines['bottom'].set_position('center')
ax1.spines["left"].set_bounds(0, 100000)
ax1.spines["left"].set_color('gray')
ax1.spines["right"].set_bounds(0, 0)
ax1.spines['bottom'].set_color('gray')
ax1.tick_params(axis='y', colors='gray')
ax1.tick_params(axis='x', colors='gray')

ax1.set_yticks(np.arange(0, 100001,25000)) 
ax1.set_ylim([-100000,100000])
ax1.text(10,80000,'INDIA',fontsize=10,color='k')
ax1.text(10,90000,'DAILY CASES',fontsize=10,color=clr_1)
ax1.text(60,90000,'DAILY RECOVERY',fontsize=10,color=clr_2)
ax1.text(120,90000,'DAILY DECEASED',fontsize=10,color=clr_3)
ax1.tick_params(axis='y', colors='gray',direction='out')



ax2 = ax1.twinx()  
color = 'tab:red'
ax2.plot(np.arange(0,len(daily_cases['dailyconfirmed'])),[i for i in daily_cases['dailydeceased']],
         color=clr_3,label='DAILY DECEASED')
ax2.grid(axis='y',color='gray', linestyle='--', linewidth=.75,alpha=.1)
# ax2.xaxis.set_minor_locator(AutoMinorLocator())
# ax2.yaxis.set_minor_locator(AutoMinorLocator())
ax2.spines['top'].set_color('none')
ax2.spines['bottom'].set_position('center')
ax2.spines["left"].set_bounds(0, 2000)
ax2.spines["left"].set_bounds(0, 0)
ax2.spines["right"].set_bounds(0, 2000)
ax2.spines["right"].set_position(('axes',0))
ax2.spines['bottom'].set_color('gray')
ax2.spines["right"].set_color('gray')
ax2.tick_params(axis='x', colors='gray')

ax2.set_yticks(np.arange(0,2100,500)[1:]) 
ax2.set_ylim([-2000,2000])
plt.gca().invert_yaxis()
ax1.tick_params(axis='y', colors='gray',direction='in', pad=10)
ax2.tick_params(axis='y', colors='gray',direction='out', pad=-40)


xticks = [0,55,76,95,109,123,153,184,215,len(total_cases['totalconfirmed'])-1]
cnt = 0
str_lock = ['FIRST CASE','LOCKDOWN-1','LOCKDOWN-2','LOCKDOWN-3','LOCKDOWN-4','UNLOCK-1','UNLOCK-2','UNLOCK-3'\
            ,'UNLOCK-4',' ']
xlabels = []
ind_1 = 6
for i in xticks:
    ax1.vlines(i,min(total_cases['totaldeceased']),max(total_cases['totaldeceased']),
              linestyles ="--", colors ="gray",alpha=0.5,linewidth=.75)
    ax2.vlines(i,min(total_cases['totaldeceased']),max(total_cases['totaldeceased']),
              linestyles ="--", colors ="gray",alpha=0.5,linewidth=.75)
    ax1.text(i-4,25000,str_lock[cnt],rotation=90,fontsize=7,color='gray',alpha=0.6)
    if  i == len(total_cases['totalconfirmed']):
        xlabels.append(total_cases['date'][-1][:ind_1])
    else:
        xlabels.append(total_cases['date'][xticks[cnt]][:ind_1])
    ax2.text(i-4,500,xlabels[cnt],rotation=90,fontsize=7,color='gray',alpha=0.6)
    cnt = cnt+1
ax1.set_ylabel('NUMBER OF INDIVIDUALS',fontsize=10)
ax2.text(10,1900,'by @neeksww',fontsize=8,color='gray',alpha=0.6)
ax2.text(10,2000,'data source: https://www.covid19india.org/',fontsize=8,color='gray',alpha=0.6)

fmt = 'png'
plt.savefig('/Users/neeks/Desktop/Documents/work/code/python_codes/notebookCodes/coswara/figures/'\
                  +'covid_status_whole_india.'+fmt, dpi=300, format=fmt,transparent=False,bbox_inches='tight')
plt.show()
total_cases['date'][215]
'01 September '
dataset = {}

dataset['month'] = []
dataset['day'] = []
dataset['year'] = []

dataset['dailyconfirmed'] = daily_cases['dailyconfirmed']
dataset['dailyrecovered'] = daily_cases['dailyrecovered']
dataset['dailydeceased'] = daily_cases['dailydeceased']
# date creation
for date in total_cases['date']:
    day = int(date.split(' ' )[0])
    month = date.split(' ')[1]
    if month == 'January':
        month_val = 1
    if month == 'February':
        month_val = 2
    if month == 'March':
        month_val = 3
    if month == 'April':
        month_val = 4
    if month == 'May':
        month_val = 5
    if month == 'June':
        month_val = 6
    if month == 'July':
        month_val = 7
    if month == 'August':
        month_val = 8
    if month == 'September':
        month_val = 9
    if month == 'October':
        month_val = 10
    if month == 'November':
        month_val = 11
    if month == 'December':
        month_val = 12
    year_val = 2020
    day_val = datetime.datetime(year_val, month_val, day).strftime("%A")
    # push into dict
    dataset['day'].append(day_val)
    dataset['month'].append(month_val)
    dataset['year'].append(year_val)
df = pd.DataFrame.from_dict(dataset)
label_day = ['Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday']

fig = plt.subplots(figsize=[9,5])
ax = plt.subplot(1,1,1)
day_mu = []
for i in label_day:
#     if i == 'Monday' or i == 'Saturday':
        temp = df[df['day']==i]['dailyconfirmed'].values
        ax.plot(temp,'-',label=i[:3],marker='o',markeredgecolor='k')
        day_mu.append(np.mean(df[df['day']==i]['dailyconfirmed']))
        ax.grid(True)
        ax.spines['right'].set_color('none')
        ax.spines['top'].set_color('none')
ax1.grid(color='gray', linestyle='--', linewidth=1,alpha=.1)
ax.set_xlabel('COUNT OF DAY SINCE FIRST COVID-19 CASE',fontsize=14)
ax.set_ylabel('POSITIVE CASE COUNT',fontsize=14)
ax.xaxis.set_minor_locator(AutoMinorLocator())
ax.yaxis.set_minor_locator(AutoMinorLocator())
ax.tick_params(which='both', width=2)
ax.tick_params(which='major', length=7)
ax.tick_params(which='minor', length=4, color='gray')
ax.legend(frameon=False,fontsize=14)
plt.xticks(fontsize=13)
plt.yticks(fontsize=13)
plt.show()

# ax = plt.subplot(1,3,2)
# for i in label_day:
#     ax.plot(df[df['day']==i]['dailyrecovered'])
#     ax.grid(True)
#     ax.spines['right'].set_color('none')
#     ax.spines['top'].set_color('none')

# ax = plt.subplot(1,3,3)
# for i in label_day:
#     ax.plot(df[df['day']==i]['dailydeceased'])
#     ax.grid(True)
#     ax.spines['right'].set_color('none')
#     ax.spines['top'].set_color('none')
a = df[df['day']==i]['dailyconfirmed']
print(80000/30)
plt.plot(day_mu)
2666.6666666666665
[<matplotlib.lines.Line2D at 0x7fb45c920358>]
fig = plt.subplots(figsize=(10,6))
ax = plt.subplot(1,1,1)
ax.semilogy(total_cases['totalconfirmed'],color='tab:orange',label='TOTAL CASES')
# ax.plot(total_cases['totalconfirmed'],color='tab:orange',label='TOTAL CASES')
ax.plot(total_cases['totalrecovered'],color='black',label='TOTAL RECOVERED')
ax.plot([i for i in total_cases['totaldeceased']],color='tab:green',label='TOTAL DEATHS')
for i in range(len(total_cases['totalrecovered'])):
    ax.hlines(total_cases['totalrecovered'][i],i-14,i,colors='grey', linestyles='solid',alpha=0.3)
ax.xaxis.set_minor_locator(AutoMinorLocator())
ax.yaxis.set_minor_locator(AutoMinorLocator())
ax.tick_params(which='both', width=2)
ax.grid(True)
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.spines['bottom'].set_position(('axes', -0.05))  ,       
ax.yaxis.set_ticks_position('left')
ax.spines['left'].set_position(('axes', -0.05))
xticks = [0,55,76,95,109,123,len(total_cases['totalconfirmed'])]
for i in xticks:
    ax.vlines(i,min(total_cases['totaldeceased']),max(total_cases['totaldeceased']),linestyles ="dotted", colors ="k")
ax.set_xticks(xticks)
ax.set_xticklabels([total_cases['date'][xticks[0]],total_cases['date'][xticks[1]],
                    total_cases['date'][xticks[2]],total_cases['date'][xticks[3]],
                    total_cases['date'][xticks[4]],total_cases['date'][xticks[5]],
                    total_cases['date'][-1]])
ax.set_xlabel('DATE',fontsize=14)
ax.set_ylabel('COUNT',fontsize=14)
ax.legend(loc='upper left',frameon=False,fontsize=13)
plt.show()
/Users/neeks/miniconda2/envs/py36/lib/python3.6/site-packages/IPython/core/pylabtools.py:128: UserWarning: AutoMinorLocator does not work with logarithmic scale
  fig.canvas.print_figure(bytes_io, **kw)
if resp.json()['tested'][-1]['totalindividualstested']!=None:
    print(resp.json()['tested'][-1]['totalindividualstested'])
    
if resp.json()['tested'][-1]['samplereportedtoday']!=None:
    print(resp.json()['tested'][-1]['totalsamplestested'])
107728088
resp.json()['cases_time_series']
[{'dailyconfirmed': '1',
  'dailydeceased': '0',
  'dailyrecovered': '0',
  'date': '30 January ',
  'dateymd': '2020-01-30',
  'totalconfirmed': '1',
  'totaldeceased': '0',
  'totalrecovered': '0'},
 {'dailyconfirmed': '0',
  'dailydeceased': '0',
  'dailyrecovered': '0',
  'date': '31 January ',
  'dateymd': '2020-01-31',
  'totalconfirmed': '1',
  'totaldeceased': '0',
  'totalrecovered': '0'},
 {'dailyconfirmed': '0',
  'dailydeceased': '0',
  'dailyrecovered': '0',
  'date': '01 February ',
  'dateymd': '2020-02-01',
  'totalconfirmed': '1',
  'totaldeceased': '0',
  'totalrecovered': '0'},
 {'dailyconfirmed': '1',
  'dailydeceased': '0',
  'dailyrecovered': '0',
  'date': '02 February ',
  'dateymd': '2020-02-02',
  'totalconfirmed': '2',
  'totaldeceased': '0',
  'totalrecovered': '0'},
 {'dailyconfirmed': '1',
  'dailydeceased': '0',
  'dailyrecovered': '0',
  'date': '03 February ',
  'dateymd': '2020-02-03',
  'totalconfirmed': '3',
  'totaldeceased': '0',
  'totalrecovered': '0'},
 {'dailyconfirmed': '0',
  'dailydeceased': '0',
  'dailyrecovered': '0',
  'date': '04 February ',
  'dateymd': '2020-02-04',
  'totalconfirmed': '3',
  'totaldeceased': '0',
  'totalrecovered': '0'},
 {'dailyconfirmed': '0',
  'dailydeceased': '0',
  'dailyrecovered': '0',
  'date': '05 February ',
  'dateymd': '2020-02-05',
  'totalconfirmed': '3',
  'totaldeceased': '0',
  'totalrecovered': '0'},
 {'dailyconfirmed': '0',
  'dailydeceased': '0',
  'dailyrecovered': '0',
  'date': '06 February ',
  'dateymd': '2020-02-06',
  'totalconfirmed': '3',
  'totaldeceased': '0',
  'totalrecovered': '0'},
 {'dailyconfirmed': '0',
  'dailydeceased': '0',
  'dailyrecovered': '0',
  'date': '07 February ',
  'dateymd': '2020-02-07',
  'totalconfirmed': '3',
  'totaldeceased': '0',
  'totalrecovered': '0'},
 {'dailyconfirmed': '0',
  'dailydeceased': '0',
  'dailyrecovered': '0',
  'date': '08 February ',
  'dateymd': '2020-02-08',
  'totalconfirmed': '3',
  'totaldeceased': '0',
  'totalrecovered': '0'},
 {'dailyconfirmed': '0',
  'dailydeceased': '0',
  'dailyrecovered': '0',
  'date': '09 February ',
  'dateymd': '2020-02-09',
  'totalconfirmed': '3',
  'totaldeceased': '0',
  'totalrecovered': '0'},
 {'dailyconfirmed': '0',
  'dailydeceased': '0',
  'dailyrecovered': '0',
  'date': '10 February ',
  'dateymd': '2020-02-10',
  'totalconfirmed': '3',
  'totaldeceased': '0',
  'totalrecovered': '0'},
 {'dailyconfirmed': '0',
  'dailydeceased': '0',
  'dailyrecovered': '0',
  'date': '11 February ',
  'dateymd': '2020-02-11',
  'totalconfirmed': '3',
  'totaldeceased': '0',
  'totalrecovered': '0'},
 {'dailyconfirmed': '0',
  'dailydeceased': '0',
  'dailyrecovered': '0',
  'date': '12 February ',
  'dateymd': '2020-02-12',
  'totalconfirmed': '3',
  'totaldeceased': '0',
  'totalrecovered': '0'},
 {'dailyconfirmed': '0',
  'dailydeceased': '0',
  'dailyrecovered': '1',
  'date': '13 February ',
  'dateymd': '2020-02-13',
  'totalconfirmed': '3',
  'totaldeceased': '0',
  'totalrecovered': '1'},
 {'dailyconfirmed': '0',
  'dailydeceased': '0',
  'dailyrecovered': '0',
  'date': '14 February ',
  'dateymd': '2020-02-14',
  'totalconfirmed': '3',
  'totaldeceased': '0',
  'totalrecovered': '1'},
 {'dailyconfirmed': '0',
  'dailydeceased': '0',
  'dailyrecovered': '0',
  'date': '15 February ',
  'dateymd': '2020-02-15',
  'totalconfirmed': '3',
  'totaldeceased': '0',
  'totalrecovered': '1'},
 {'dailyconfirmed': '0',
  'dailydeceased': '0',
  'dailyrecovered': '1',
  'date': '16 February ',
  'dateymd': '2020-02-16',
  'totalconfirmed': '3',
  'totaldeceased': '0',
  'totalrecovered': '2'},
 {'dailyconfirmed': '0',
  'dailydeceased': '0',
  'dailyrecovered': '0',
  'date': '17 February ',
  'dateymd': '2020-02-17',
  'totalconfirmed': '3',
  'totaldeceased': '0',
  'totalrecovered': '2'},
 {'dailyconfirmed': '0',
  'dailydeceased': '0',
  'dailyrecovered': '0',
  'date': '18 February ',
  'dateymd': '2020-02-18',
  'totalconfirmed': '3',
  'totaldeceased': '0',
  'totalrecovered': '2'},
 {'dailyconfirmed': '0',
  'dailydeceased': '0',
  'dailyrecovered': '0',
  'date': '19 February ',
  'dateymd': '2020-02-19',
  'totalconfirmed': '3',
  'totaldeceased': '0',
  'totalrecovered': '2'},
 {'dailyconfirmed': '0',
  'dailydeceased': '0',
  'dailyrecovered': '1',
  'date': '20 February ',
  'dateymd': '2020-02-20',
  'totalconfirmed': '3',
  'totaldeceased': '0',
  'totalrecovered': '3'},
 {'dailyconfirmed': '0',
  'dailydeceased': '0',
  'dailyrecovered': '0',
  'date': '21 February ',
  'dateymd': '2020-02-21',
  'totalconfirmed': '3',
  'totaldeceased': '0',
  'totalrecovered': '3'},
 {'dailyconfirmed': '0',
  'dailydeceased': '0',
  'dailyrecovered': '0',
  'date': '22 February ',
  'dateymd': '2020-02-22',
  'totalconfirmed': '3',
  'totaldeceased': '0',
  'totalrecovered': '3'},
 {'dailyconfirmed': '0',
  'dailydeceased': '0',
  'dailyrecovered': '0',
  'date': '23 February ',
  'dateymd': '2020-02-23',
  'totalconfirmed': '3',
  'totaldeceased': '0',
  'totalrecovered': '3'},
 {'dailyconfirmed': '0',
  'dailydeceased': '0',
  'dailyrecovered': '0',
  'date': '24 February ',
  'dateymd': '2020-02-24',
  'totalconfirmed': '3',
  'totaldeceased': '0',
  'totalrecovered': '3'},
 {'dailyconfirmed': '0',
  'dailydeceased': '0',
  'dailyrecovered': '0',
  'date': '25 February ',
  'dateymd': '2020-02-25',
  'totalconfirmed': '3',
  'totaldeceased': '0',
  'totalrecovered': '3'},
 {'dailyconfirmed': '0',
  'dailydeceased': '0',
  'dailyrecovered': '0',
  'date': '26 February ',
  'dateymd': '2020-02-26',
  'totalconfirmed': '3',
  'totaldeceased': '0',
  'totalrecovered': '3'},
 {'dailyconfirmed': '0',
  'dailydeceased': '0',
  'dailyrecovered': '0',
  'date': '27 February ',
  'dateymd': '2020-02-27',
  'totalconfirmed': '3',
  'totaldeceased': '0',
  'totalrecovered': '3'},
 {'dailyconfirmed': '0',
  'dailydeceased': '0',
  'dailyrecovered': '0',
  'date': '28 February ',
  'dateymd': '2020-02-28',
  'totalconfirmed': '3',
  'totaldeceased': '0',
  'totalrecovered': '3'},
 {'dailyconfirmed': '0',
  'dailydeceased': '0',
  'dailyrecovered': '0',
  'date': '29 February ',
  'dateymd': '2020-02-29',
  'totalconfirmed': '3',
  'totaldeceased': '0',
  'totalrecovered': '3'},
 {'dailyconfirmed': '0',
  'dailydeceased': '0',
  'dailyrecovered': '0',
  'date': '01 March ',
  'dateymd': '2020-03-01',
  'totalconfirmed': '3',
  'totaldeceased': '0',
  'totalrecovered': '3'},
 {'dailyconfirmed': '2',
  'dailydeceased': '0',
  'dailyrecovered': '0',
  'date': '02 March ',
  'dateymd': '2020-03-02',
  'totalconfirmed': '5',
  'totaldeceased': '0',
  'totalrecovered': '3'},
 {'dailyconfirmed': '1',
  'dailydeceased': '0',
  'dailyrecovered': '0',
  'date': '03 March ',
  'dateymd': '2020-03-03',
  'totalconfirmed': '6',
  'totaldeceased': '0',
  'totalrecovered': '3'},
 {'dailyconfirmed': '22',
  'dailydeceased': '0',
  'dailyrecovered': '0',
  'date': '04 March ',
  'dateymd': '2020-03-04',
  'totalconfirmed': '28',
  'totaldeceased': '0',
  'totalrecovered': '3'},
 {'dailyconfirmed': '2',
  'dailydeceased': '0',
  'dailyrecovered': '0',
  'date': '05 March ',
  'dateymd': '2020-03-05',
  'totalconfirmed': '30',
  'totaldeceased': '0',
  'totalrecovered': '3'},
 {'dailyconfirmed': '1',
  'dailydeceased': '0',
  'dailyrecovered': '0',
  'date': '06 March ',
  'dateymd': '2020-03-06',
  'totalconfirmed': '31',
  'totaldeceased': '0',
  'totalrecovered': '3'},
 {'dailyconfirmed': '3',
  'dailydeceased': '0',
  'dailyrecovered': '0',
  'date': '07 March ',
  'dateymd': '2020-03-07',
  'totalconfirmed': '34',
  'totaldeceased': '0',
  'totalrecovered': '3'},
 {'dailyconfirmed': '5',
  'dailydeceased': '0',
  'dailyrecovered': '0',
  'date': '08 March ',
  'dateymd': '2020-03-08',
  'totalconfirmed': '39',
  'totaldeceased': '0',
  'totalrecovered': '3'},
 {'dailyconfirmed': '9',
  'dailydeceased': '0',
  'dailyrecovered': '0',
  'date': '09 March ',
  'dateymd': '2020-03-09',
  'totalconfirmed': '48',
  'totaldeceased': '0',
  'totalrecovered': '3'},
 {'dailyconfirmed': '15',
  'dailydeceased': '0',
  'dailyrecovered': '1',
  'date': '10 March ',
  'dateymd': '2020-03-10',
  'totalconfirmed': '63',
  'totaldeceased': '0',
  'totalrecovered': '4'},
 {'dailyconfirmed': '8',
  'dailydeceased': '0',
  'dailyrecovered': '0',
  'date': '11 March ',
  'dateymd': '2020-03-11',
  'totalconfirmed': '71',
  'totaldeceased': '0',
  'totalrecovered': '4'},
 {'dailyconfirmed': '10',
  'dailydeceased': '1',
  'dailyrecovered': '0',
  'date': '12 March ',
  'dateymd': '2020-03-12',
  'totalconfirmed': '81',
  'totaldeceased': '1',
  'totalrecovered': '4'},
 {'dailyconfirmed': '10',
  'dailydeceased': '0',
  'dailyrecovered': '6',
  'date': '13 March ',
  'dateymd': '2020-03-13',
  'totalconfirmed': '91',
  'totaldeceased': '1',
  'totalrecovered': '10'},
 {'dailyconfirmed': '11',
  'dailydeceased': '1',
  'dailyrecovered': '0',
  'date': '14 March ',
  'dateymd': '2020-03-14',
  'totalconfirmed': '102',
  'totaldeceased': '2',
  'totalrecovered': '10'},
 {'dailyconfirmed': '10',
  'dailydeceased': '0',
  'dailyrecovered': '3',
  'date': '15 March ',
  'dateymd': '2020-03-15',
  'totalconfirmed': '112',
  'totaldeceased': '2',
  'totalrecovered': '13'},
 {'dailyconfirmed': '14',
  'dailydeceased': '0',
  'dailyrecovered': '1',
  'date': '16 March ',
  'dateymd': '2020-03-16',
  'totalconfirmed': '126',
  'totaldeceased': '2',
  'totalrecovered': '14'},
 {'dailyconfirmed': '20',
  'dailydeceased': '1',
  'dailyrecovered': '1',
  'date': '17 March ',
  'dateymd': '2020-03-17',
  'totalconfirmed': '146',
  'totaldeceased': '3',
  'totalrecovered': '15'},
 {'dailyconfirmed': '25',
  'dailydeceased': '0',
  'dailyrecovered': '0',
  'date': '18 March ',
  'dateymd': '2020-03-18',
  'totalconfirmed': '171',
  'totaldeceased': '3',
  'totalrecovered': '15'},
 {'dailyconfirmed': '27',
  'dailydeceased': '1',
  'dailyrecovered': '5',
  'date': '19 March ',
  'dateymd': '2020-03-19',
  'totalconfirmed': '198',
  'totaldeceased': '4',
  'totalrecovered': '20'},
 {'dailyconfirmed': '58',
  'dailydeceased': '0',
  'dailyrecovered': '3',
  'date': '20 March ',
  'dateymd': '2020-03-20',
  'totalconfirmed': '256',
  'totaldeceased': '4',
  'totalrecovered': '23'},
 {'dailyconfirmed': '78',
  'dailydeceased': '0',
  'dailyrecovered': '0',
  'date': '21 March ',
  'dateymd': '2020-03-21',
  'totalconfirmed': '334',
  'totaldeceased': '4',
  'totalrecovered': '23'},
 {'dailyconfirmed': '69',
  'dailydeceased': '3',
  'dailyrecovered': '0',
  'date': '22 March ',
  'dateymd': '2020-03-22',
  'totalconfirmed': '403',
  'totaldeceased': '7',
  'totalrecovered': '23'},
 {'dailyconfirmed': '94',
  'dailydeceased': '2',
  'dailyrecovered': '2',
  'date': '23 March ',
  'dateymd': '2020-03-23',
  'totalconfirmed': '497',
  'totaldeceased': '9',
  'totalrecovered': '25'},
 {'dailyconfirmed': '74',
  'dailydeceased': '1',
  'dailyrecovered': '15',
  'date': '24 March ',
  'dateymd': '2020-03-24',
  'totalconfirmed': '571',
  'totaldeceased': '10',
  'totalrecovered': '40'},
 {'dailyconfirmed': '86',
  'dailydeceased': '1',
  'dailyrecovered': '3',
  'date': '25 March ',
  'dateymd': '2020-03-25',
  'totalconfirmed': '657',
  'totaldeceased': '11',
  'totalrecovered': '43'},
 {'dailyconfirmed': '73',
  'dailydeceased': '5',
  'dailyrecovered': '7',
  'date': '26 March ',
  'dateymd': '2020-03-26',
  'totalconfirmed': '730',
  'totaldeceased': '16',
  'totalrecovered': '50'},
 {'dailyconfirmed': '153',
  'dailydeceased': '3',
  'dailyrecovered': '25',
  'date': '27 March ',
  'dateymd': '2020-03-27',
  'totalconfirmed': '883',
  'totaldeceased': '19',
  'totalrecovered': '75'},
 {'dailyconfirmed': '136',
  'dailydeceased': '5',
  'dailyrecovered': '10',
  'date': '28 March ',
  'dateymd': '2020-03-28',
  'totalconfirmed': '1019',
  'totaldeceased': '24',
  'totalrecovered': '85'},
 {'dailyconfirmed': '120',
  'dailydeceased': '3',
  'dailyrecovered': '17',
  'date': '29 March ',
  'dateymd': '2020-03-29',
  'totalconfirmed': '1139',
  'totaldeceased': '27',
  'totalrecovered': '102'},
 {'dailyconfirmed': '187',
  'dailydeceased': '14',
  'dailyrecovered': '35',
  'date': '30 March ',
  'dateymd': '2020-03-30',
  'totalconfirmed': '1326',
  'totaldeceased': '41',
  'totalrecovered': '137'},
 {'dailyconfirmed': '309',
  'dailydeceased': '6',
  'dailyrecovered': '13',
  'date': '31 March ',
  'dateymd': '2020-03-31',
  'totalconfirmed': '1635',
  'totaldeceased': '47',
  'totalrecovered': '150'},
 {'dailyconfirmed': '424',
  'dailydeceased': '6',
  'dailyrecovered': '19',
  'date': '01 April ',
  'dateymd': '2020-04-01',
  'totalconfirmed': '2059',
  'totaldeceased': '53',
  'totalrecovered': '169'},
 {'dailyconfirmed': '486',
  'dailydeceased': '16',
  'dailyrecovered': '22',
  'date': '02 April ',
  'dateymd': '2020-04-02',
  'totalconfirmed': '2545',
  'totaldeceased': '69',
  'totalrecovered': '191'},
 {'dailyconfirmed': '560',
  'dailydeceased': '14',
  'dailyrecovered': '39',
  'date': '03 April ',
  'dateymd': '2020-04-03',
  'totalconfirmed': '3105',
  'totaldeceased': '83',
  'totalrecovered': '230'},
 {'dailyconfirmed': '579',
  'dailydeceased': '13',
  'dailyrecovered': '56',
  'date': '04 April ',
  'dateymd': '2020-04-04',
  'totalconfirmed': '3684',
  'totaldeceased': '96',
  'totalrecovered': '286'},
 {'dailyconfirmed': '609',
  'dailydeceased': '22',
  'dailyrecovered': '43',
  'date': '05 April ',
  'dateymd': '2020-04-05',
  'totalconfirmed': '4293',
  'totaldeceased': '118',
  'totalrecovered': '329'},
 {'dailyconfirmed': '484',
  'dailydeceased': '16',
  'dailyrecovered': '65',
  'date': '06 April ',
  'dateymd': '2020-04-06',
  'totalconfirmed': '4777',
  'totaldeceased': '134',
  'totalrecovered': '394'},
 {'dailyconfirmed': '573',
  'dailydeceased': '27',
  'dailyrecovered': '75',
  'date': '07 April ',
  'dateymd': '2020-04-07',
  'totalconfirmed': '5350',
  'totaldeceased': '161',
  'totalrecovered': '469'},
 {'dailyconfirmed': '565',
  'dailydeceased': '20',
  'dailyrecovered': '96',
  'date': '08 April ',
  'dateymd': '2020-04-08',
  'totalconfirmed': '5915',
  'totaldeceased': '181',
  'totalrecovered': '565'},
 {'dailyconfirmed': '813',
  'dailydeceased': '46',
  'dailyrecovered': '70',
  'date': '09 April ',
  'dateymd': '2020-04-09',
  'totalconfirmed': '6728',
  'totaldeceased': '227',
  'totalrecovered': '635'},
 {'dailyconfirmed': '871',
  'dailydeceased': '22',
  'dailyrecovered': '151',
  'date': '10 April ',
  'dateymd': '2020-04-10',
  'totalconfirmed': '7599',
  'totaldeceased': '249',
  'totalrecovered': '786'},
 {'dailyconfirmed': '854',
  'dailydeceased': '41',
  'dailyrecovered': '186',
  'date': '11 April ',
  'dateymd': '2020-04-11',
  'totalconfirmed': '8453',
  'totaldeceased': '290',
  'totalrecovered': '972'},
 {'dailyconfirmed': '758',
  'dailydeceased': '42',
  'dailyrecovered': '114',
  'date': '12 April ',
  'dateymd': '2020-04-12',
  'totalconfirmed': '9211',
  'totaldeceased': '332',
  'totalrecovered': '1086'},
 {'dailyconfirmed': '1243',
  'dailydeceased': '27',
  'dailyrecovered': '112',
  'date': '13 April ',
  'dateymd': '2020-04-13',
  'totalconfirmed': '10454',
  'totaldeceased': '359',
  'totalrecovered': '1198'},
 {'dailyconfirmed': '1031',
  'dailydeceased': '37',
  'dailyrecovered': '167',
  'date': '14 April ',
  'dateymd': '2020-04-14',
  'totalconfirmed': '11485',
  'totaldeceased': '396',
  'totalrecovered': '1365'},
 {'dailyconfirmed': '886',
  'dailydeceased': '27',
  'dailyrecovered': '144',
  'date': '15 April ',
  'dateymd': '2020-04-15',
  'totalconfirmed': '12371',
  'totaldeceased': '423',
  'totalrecovered': '1509'},
 {'dailyconfirmed': '1061',
  'dailydeceased': '26',
  'dailyrecovered': '258',
  'date': '16 April ',
  'dateymd': '2020-04-16',
  'totalconfirmed': '13432',
  'totaldeceased': '449',
  'totalrecovered': '1767'},
 {'dailyconfirmed': '922',
  'dailydeceased': '38',
  'dailyrecovered': '273',
  'date': '17 April ',
  'dateymd': '2020-04-17',
  'totalconfirmed': '14354',
  'totaldeceased': '487',
  'totalrecovered': '2040'},
 {'dailyconfirmed': '1371',
  'dailydeceased': '35',
  'dailyrecovered': '426',
  'date': '18 April ',
  'dateymd': '2020-04-18',
  'totalconfirmed': '15725',
  'totaldeceased': '522',
  'totalrecovered': '2466'},
 {'dailyconfirmed': '1580',
  'dailydeceased': '38',
  'dailyrecovered': '388',
  'date': '19 April ',
  'dateymd': '2020-04-19',
  'totalconfirmed': '17305',
  'totaldeceased': '560',
  'totalrecovered': '2854'},
 {'dailyconfirmed': '1239',
  'dailydeceased': '33',
  'dailyrecovered': '419',
  'date': '20 April ',
  'dateymd': '2020-04-20',
  'totalconfirmed': '18544',
  'totaldeceased': '593',
  'totalrecovered': '3273'},
 {'dailyconfirmed': '1537',
  'dailydeceased': '53',
  'dailyrecovered': '703',
  'date': '21 April ',
  'dateymd': '2020-04-21',
  'totalconfirmed': '20081',
  'totaldeceased': '646',
  'totalrecovered': '3976'},
 {'dailyconfirmed': '1292',
  'dailydeceased': '36',
  'dailyrecovered': '394',
  'date': '22 April ',
  'dateymd': '2020-04-22',
  'totalconfirmed': '21373',
  'totaldeceased': '682',
  'totalrecovered': '4370'},
 {'dailyconfirmed': '1667',
  'dailydeceased': '40',
  'dailyrecovered': '642',
  'date': '23 April ',
  'dateymd': '2020-04-23',
  'totalconfirmed': '23040',
  'totaldeceased': '722',
  'totalrecovered': '5012'},
 {'dailyconfirmed': '1408',
  'dailydeceased': '59',
  'dailyrecovered': '484',
  'date': '24 April ',
  'dateymd': '2020-04-24',
  'totalconfirmed': '24448',
  'totaldeceased': '781',
  'totalrecovered': '5496'},
 {'dailyconfirmed': '1835',
  'dailydeceased': '44',
  'dailyrecovered': '442',
  'date': '25 April ',
  'dateymd': '2020-04-25',
  'totalconfirmed': '26283',
  'totaldeceased': '825',
  'totalrecovered': '5938'},
 {'dailyconfirmed': '1607',
  'dailydeceased': '56',
  'dailyrecovered': '585',
  'date': '26 April ',
  'dateymd': '2020-04-26',
  'totalconfirmed': '27890',
  'totaldeceased': '881',
  'totalrecovered': '6523'},
 {'dailyconfirmed': '1568',
  'dailydeceased': '58',
  'dailyrecovered': '580',
  'date': '27 April ',
  'dateymd': '2020-04-27',
  'totalconfirmed': '29458',
  'totaldeceased': '939',
  'totalrecovered': '7103'},
 {'dailyconfirmed': '1902',
  'dailydeceased': '69',
  'dailyrecovered': '636',
  'date': '28 April ',
  'dateymd': '2020-04-28',
  'totalconfirmed': '31360',
  'totaldeceased': '1008',
  'totalrecovered': '7739'},
 {'dailyconfirmed': '1705',
  'dailydeceased': '71',
  'dailyrecovered': '690',
  'date': '29 April ',
  'dateymd': '2020-04-29',
  'totalconfirmed': '33065',
  'totaldeceased': '1079',
  'totalrecovered': '8429'},
 {'dailyconfirmed': '1801',
  'dailydeceased': '75',
  'dailyrecovered': '630',
  'date': '30 April ',
  'dateymd': '2020-04-30',
  'totalconfirmed': '34866',
  'totaldeceased': '1154',
  'totalrecovered': '9059'},
 {'dailyconfirmed': '2396',
  'dailydeceased': '77',
  'dailyrecovered': '962',
  'date': '01 May ',
  'dateymd': '2020-05-01',
  'totalconfirmed': '37262',
  'totaldeceased': '1231',
  'totalrecovered': '10021'},
 {'dailyconfirmed': '2564',
  'dailydeceased': '92',
  'dailyrecovered': '831',
  'date': '02 May ',
  'dateymd': '2020-05-02',
  'totalconfirmed': '39826',
  'totaldeceased': '1323',
  'totalrecovered': '10852'},
 {'dailyconfirmed': '2952',
  'dailydeceased': '140',
  'dailyrecovered': '911',
  'date': '03 May ',
  'dateymd': '2020-05-03',
  'totalconfirmed': '42778',
  'totaldeceased': '1463',
  'totalrecovered': '11763'},
 {'dailyconfirmed': '3656',
  'dailydeceased': '103',
  'dailyrecovered': '1082',
  'date': '04 May ',
  'dateymd': '2020-05-04',
  'totalconfirmed': '46434',
  'totaldeceased': '1566',
  'totalrecovered': '12845'},
 {'dailyconfirmed': '2971',
  'dailydeceased': '128',
  'dailyrecovered': '1295',
  'date': '05 May ',
  'dateymd': '2020-05-05',
  'totalconfirmed': '49405',
  'totaldeceased': '1694',
  'totalrecovered': '14140'},
 {'dailyconfirmed': '3602',
  'dailydeceased': '91',
  'dailyrecovered': '1161',
  'date': '06 May ',
  'dateymd': '2020-05-06',
  'totalconfirmed': '53007',
  'totaldeceased': '1785',
  'totalrecovered': '15301'},
 {'dailyconfirmed': '3344',
  'dailydeceased': '104',
  'dailyrecovered': '1475',
  'date': '07 May ',
  'dateymd': '2020-05-07',
  'totalconfirmed': '56351',
  'totaldeceased': '1889',
  'totalrecovered': '16776'},
 {'dailyconfirmed': '3339',
  'dailydeceased': '97',
  'dailyrecovered': '1111',
  'date': '08 May ',
  'dateymd': '2020-05-08',
  'totalconfirmed': '59690',
  'totaldeceased': '1986',
  'totalrecovered': '17887'},
 {'dailyconfirmed': '3175',
  'dailydeceased': '115',
  'dailyrecovered': '1414',
  'date': '09 May ',
  'dateymd': '2020-05-09',
  'totalconfirmed': '62865',
  'totaldeceased': '2101',
  'totalrecovered': '19301'},
 {'dailyconfirmed': '4311',
  'dailydeceased': '112',
  'dailyrecovered': '1669',
  'date': '10 May ',
  'dateymd': '2020-05-10',
  'totalconfirmed': '67176',
  'totaldeceased': '2213',
  'totalrecovered': '20970'},
 {'dailyconfirmed': '3592',
  'dailydeceased': '81',
  'dailyrecovered': '1579',
  'date': '11 May ',
  'dateymd': '2020-05-11',
  'totalconfirmed': '70768',
  'totaldeceased': '2294',
  'totalrecovered': '22549'},
 {'dailyconfirmed': '3562',
  'dailydeceased': '120',
  'dailyrecovered': '1905',
  'date': '12 May ',
  'dateymd': '2020-05-12',
  'totalconfirmed': '74330',
  'totaldeceased': '2414',
  'totalrecovered': '24454'},
 {'dailyconfirmed': '3726',
  'dailydeceased': '137',
  'dailyrecovered': '1963',
  'date': '13 May ',
  'dateymd': '2020-05-13',
  'totalconfirmed': '78056',
  'totaldeceased': '2551',
  'totalrecovered': '26417'},
 {'dailyconfirmed': '3991',
  'dailydeceased': '97',
  'dailyrecovered': '1594',
  'date': '14 May ',
  'dateymd': '2020-05-14',
  'totalconfirmed': '82047',
  'totaldeceased': '2648',
  'totalrecovered': '28011'},
 {'dailyconfirmed': '3808',
  'dailydeceased': '104',
  'dailyrecovered': '2234',
  'date': '15 May ',
  'dateymd': '2020-05-15',
  'totalconfirmed': '85855',
  'totaldeceased': '2752',
  'totalrecovered': '30245'},
 {'dailyconfirmed': '4794',
  'dailydeceased': '120',
  'dailyrecovered': '4012',
  'date': '16 May ',
  'dateymd': '2020-05-16',
  'totalconfirmed': '90649',
  'totaldeceased': '2872',
  'totalrecovered': '34257'},
 {'dailyconfirmed': '5049',
  'dailydeceased': '152',
  'dailyrecovered': '2538',
  'date': '17 May ',
  'dateymd': '2020-05-17',
  'totalconfirmed': '95698',
  'totaldeceased': '3024',
  'totalrecovered': '36795'},
 {'dailyconfirmed': '4628',
  'dailydeceased': '131',
  'dailyrecovered': '2482',
  'date': '18 May ',
  'dateymd': '2020-05-18',
  'totalconfirmed': '100326',
  'totaldeceased': '3155',
  'totalrecovered': '39277'},
 {'dailyconfirmed': '6154',
  'dailydeceased': '146',
  'dailyrecovered': '3032',
  'date': '19 May ',
  'dateymd': '2020-05-19',
  'totalconfirmed': '106480',
  'totaldeceased': '3301',
  'totalrecovered': '42309'},
 {'dailyconfirmed': '5720',
  'dailydeceased': '134',
  'dailyrecovered': '3113',
  'date': '20 May ',
  'dateymd': '2020-05-20',
  'totalconfirmed': '112200',
  'totaldeceased': '3435',
  'totalrecovered': '45422'},
 {'dailyconfirmed': '6023',
  'dailydeceased': '148',
  'dailyrecovered': '3131',
  'date': '21 May ',
  'dateymd': '2020-05-21',
  'totalconfirmed': '118223',
  'totaldeceased': '3583',
  'totalrecovered': '48553'},
 {'dailyconfirmed': '6536',
  'dailydeceased': '142',
  'dailyrecovered': '3280',
  'date': '22 May ',
  'dateymd': '2020-05-22',
  'totalconfirmed': '124759',
  'totaldeceased': '3725',
  'totalrecovered': '51833'},
 {'dailyconfirmed': '6667',
  'dailydeceased': '142',
  'dailyrecovered': '2576',
  'date': '23 May ',
  'dateymd': '2020-05-23',
  'totalconfirmed': '131424',
  'totaldeceased': '3867',
  'totalrecovered': '54409'},
 {'dailyconfirmed': '7111',
  'dailydeceased': '156',
  'dailyrecovered': '3285',
  'date': '24 May ',
  'dateymd': '2020-05-24',
  'totalconfirmed': '138537',
  'totaldeceased': '4023',
  'totalrecovered': '57694'},
 {'dailyconfirmed': '6414',
  'dailydeceased': '150',
  'dailyrecovered': '3012',
  'date': '25 May ',
  'dateymd': '2020-05-25',
  'totalconfirmed': '144951',
  'totaldeceased': '4173',
  'totalrecovered': '60706'},
 {'dailyconfirmed': '5907',
  'dailydeceased': '173',
  'dailyrecovered': '3585',
  'date': '26 May ',
  'dateymd': '2020-05-26',
  'totalconfirmed': '150858',
  'totaldeceased': '4346',
  'totalrecovered': '64291'},
 {'dailyconfirmed': '7246',
  'dailydeceased': '188',
  'dailyrecovered': '3434',
  'date': '27 May ',
  'dateymd': '2020-05-27',
  'totalconfirmed': '158104',
  'totaldeceased': '4534',
  'totalrecovered': '67725'},
 {'dailyconfirmed': '7254',
  'dailydeceased': '176',
  'dailyrecovered': '3171',
  'date': '28 May ',
  'dateymd': '2020-05-28',
  'totalconfirmed': '165358',
  'totaldeceased': '4710',
  'totalrecovered': '70896'},
 {'dailyconfirmed': '8138',
  'dailydeceased': '269',
  'dailyrecovered': '11735',
  'date': '29 May ',
  'dateymd': '2020-05-29',
  'totalconfirmed': '173496',
  'totaldeceased': '4979',
  'totalrecovered': '82631'},
 {'dailyconfirmed': '8364',
  'dailydeceased': '205',
  'dailyrecovered': '4303',
  'date': '30 May ',
  'dateymd': '2020-05-30',
  'totalconfirmed': '181860',
  'totaldeceased': '5184',
  'totalrecovered': '86934'},
 {'dailyconfirmed': '8789',
  'dailydeceased': '222',
  'dailyrecovered': '4928',
  'date': '31 May ',
  'dateymd': '2020-05-31',
  'totalconfirmed': '190649',
  'totaldeceased': '5406',
  'totalrecovered': '91862'},
 {'dailyconfirmed': '7723',
  'dailydeceased': '201',
  'dailyrecovered': '3882',
  'date': '01 June ',
  'dateymd': '2020-06-01',
  'totalconfirmed': '198372',
  'totaldeceased': '5607',
  'totalrecovered': '95744'},
 {'dailyconfirmed': '8812',
  'dailydeceased': '222',
  'dailyrecovered': '4531',
  'date': '02 June ',
  'dateymd': '2020-06-02',
  'totalconfirmed': '207187',
  'totaldeceased': '5829',
  'totalrecovered': '100275'},
 {'dailyconfirmed': '9689',
  'dailydeceased': '259',
  'dailyrecovered': '3789',
  'date': '03 June ',
  'dateymd': '2020-06-03',
  'totalconfirmed': '216876',
  'totaldeceased': '6088',
  'totalrecovered': '104064'},
 {'dailyconfirmed': '9847',
  'dailydeceased': '274',
  'dailyrecovered': '4390',
  'date': '04 June ',
  'dateymd': '2020-06-04',
  'totalconfirmed': '226723',
  'totaldeceased': '6362',
  'totalrecovered': '108454'},
 {'dailyconfirmed': '9472',
  'dailydeceased': '286',
  'dailyrecovered': '4770',
  'date': '05 June ',
  'dateymd': '2020-06-05',
  'totalconfirmed': '236195',
  'totaldeceased': '6648',
  'totalrecovered': '113224'},
 {'dailyconfirmed': '10408',
  'dailydeceased': '297',
  'dailyrecovered': '5433',
  'date': '06 June ',
  'dateymd': '2020-06-06',
  'totalconfirmed': '246603',
  'totaldeceased': '6945',
  'totalrecovered': '118657'},
 {'dailyconfirmed': '10882',
  'dailydeceased': '261',
  'dailyrecovered': '5191',
  'date': '07 June ',
  'dateymd': '2020-06-07',
  'totalconfirmed': '257485',
  'totaldeceased': '7206',
  'totalrecovered': '123848'},
 {'dailyconfirmed': '8536',
  'dailydeceased': '271',
  'dailyrecovered': '5171',
  'date': '08 June ',
  'dateymd': '2020-06-08',
  'totalconfirmed': '266021',
  'totaldeceased': '7477',
  'totalrecovered': '129019'},
 {'dailyconfirmed': '9981',
  'dailydeceased': '272',
  'dailyrecovered': '5634',
  'date': '09 June ',
  'dateymd': '2020-06-09',
  'totalconfirmed': '276002',
  'totaldeceased': '7749',
  'totalrecovered': '134653'},
 {'dailyconfirmed': '11156',
  'dailydeceased': '358',
  'dailyrecovered': '6275',
  'date': '10 June ',
  'dateymd': '2020-06-10',
  'totalconfirmed': '287158',
  'totaldeceased': '8107',
  'totalrecovered': '140928'},
 {'dailyconfirmed': '11135',
  'dailydeceased': '394',
  'dailyrecovered': '6044',
  'date': '11 June ',
  'dateymd': '2020-06-11',
  'totalconfirmed': '298293',
  'totaldeceased': '8501',
  'totalrecovered': '146972'},
 {'dailyconfirmed': '11306',
  'dailydeceased': '388',
  'dailyrecovered': '7263',
  'date': '12 June ',
  'dateymd': '2020-06-12',
  'totalconfirmed': '309599',
  'totaldeceased': '8889',
  'totalrecovered': '154235'},
 {'dailyconfirmed': '12039',
  'dailydeceased': '309',
  'dailyrecovered': '8092',
  'date': '13 June ',
  'dateymd': '2020-06-13',
  'totalconfirmed': '321638',
  'totaldeceased': '9198',
  'totalrecovered': '162327'},
 {'dailyconfirmed': '11405',
  'dailydeceased': '324',
  'dailyrecovered': '7358',
  'date': '14 June ',
  'dateymd': '2020-06-14',
  'totalconfirmed': '333043',
  'totaldeceased': '9522',
  'totalrecovered': '169685'},
 {'dailyconfirmed': '10032',
  'dailydeceased': '396',
  'dailyrecovered': '10639',
  'date': '15 June ',
  'dateymd': '2020-06-15',
  'totalconfirmed': '343075',
  'totaldeceased': '9918',
  'totalrecovered': '180324'},
 {'dailyconfirmed': '11086',
  'dailydeceased': '2004',
  'dailyrecovered': '7226',
  'date': '16 June ',
  'dateymd': '2020-06-16',
  'totalconfirmed': '354161',
  'totaldeceased': '11922',
  'totalrecovered': '187550'},
 {'dailyconfirmed': '13108',
  'dailydeceased': '341',
  'dailyrecovered': '6890',
  'date': '17 June ',
  'dateymd': '2020-06-17',
  'totalconfirmed': '367269',
  'totaldeceased': '12263',
  'totalrecovered': '194440'},
 {'dailyconfirmed': '13829',
  'dailydeceased': '343',
  'dailyrecovered': '10741',
  'date': '18 June ',
  'dateymd': '2020-06-18',
  'totalconfirmed': '381098',
  'totaldeceased': '12606',
  'totalrecovered': '205181'},
 {'dailyconfirmed': '14740',
  'dailydeceased': '364',
  'dailyrecovered': '9029',
  'date': '19 June ',
  'dateymd': '2020-06-19',
  'totalconfirmed': '395838',
  'totaldeceased': '12970',
  'totalrecovered': '214210'},
 {'dailyconfirmed': '15918',
  'dailydeceased': '308',
  'dailyrecovered': '13974',
  'date': '20 June ',
  'dateymd': '2020-06-20',
  'totalconfirmed': '411753',
  'totaldeceased': '13278',
  'totalrecovered': '228184'},
 {'dailyconfirmed': '15151',
  'dailydeceased': '426',
  'dailyrecovered': '9075',
  'date': '21 June ',
  'dateymd': '2020-06-21',
  'totalconfirmed': '426904',
  'totaldeceased': '13704',
  'totalrecovered': '237259'},
 {'dailyconfirmed': '13560',
  'dailydeceased': '312',
  'dailyrecovered': '10879',
  'date': '22 June ',
  'dateymd': '2020-06-22',
  'totalconfirmed': '440464',
  'totaldeceased': '14016',
  'totalrecovered': '248138'},
 {'dailyconfirmed': '15656',
  'dailydeceased': '468',
  'dailyrecovered': '10462',
  'date': '23 June ',
  'dateymd': '2020-06-23',
  'totalconfirmed': '456120',
  'totaldeceased': '14484',
  'totalrecovered': '258600'},
 {'dailyconfirmed': '16868',
  'dailydeceased': '424',
  'dailyrecovered': '13089',
  'date': '24 June ',
  'dateymd': '2020-06-24',
  'totalconfirmed': '472988',
  'totaldeceased': '14908',
  'totalrecovered': '271689'},
 {'dailyconfirmed': '18205',
  'dailydeceased': '401',
  'dailyrecovered': '13983',
  'date': '25 June ',
  'dateymd': '2020-06-25',
  'totalconfirmed': '491193',
  'totaldeceased': '15309',
  'totalrecovered': '285672'},
 {'dailyconfirmed': '18255',
  'dailydeceased': '381',
  'dailyrecovered': '10246',
  'date': '26 June ',
  'dateymd': '2020-06-26',
  'totalconfirmed': '509448',
  'totaldeceased': '15690',
  'totalrecovered': '295918'},
 {'dailyconfirmed': '20142',
  'dailydeceased': '414',
  'dailyrecovered': '14229',
  'date': '27 June ',
  'dateymd': '2020-06-27',
  'totalconfirmed': '529590',
  'totaldeceased': '16104',
  'totalrecovered': '310147'},
 {'dailyconfirmed': '19610',
  'dailydeceased': '384',
  'dailyrecovered': '11631',
  'date': '28 June ',
  'dateymd': '2020-06-28',
  'totalconfirmed': '549200',
  'totaldeceased': '16488',
  'totalrecovered': '321778'},
 {'dailyconfirmed': '18339',
  'dailydeceased': '417',
  'dailyrecovered': '13497',
  'date': '29 June ',
  'dateymd': '2020-06-29',
  'totalconfirmed': '567539',
  'totaldeceased': '16905',
  'totalrecovered': '335275'},
 {'dailyconfirmed': '18256',
  'dailydeceased': '506',
  'dailyrecovered': '12565',
  'date': '30 June ',
  'dateymd': '2020-06-30',
  'totalconfirmed': '585795',
  'totaldeceased': '17411',
  'totalrecovered': '347840'},
 {'dailyconfirmed': '19429',
  'dailydeceased': '438',
  'dailyrecovered': '12064',
  'date': '01 July ',
  'dateymd': '2020-07-01',
  'totalconfirmed': '605224',
  'totaldeceased': '17849',
  'totalrecovered': '359904'},
 {'dailyconfirmed': '21947',
  'dailydeceased': '378',
  'dailyrecovered': '19999',
  'date': '02 July ',
  'dateymd': '2020-07-02',
  'totalconfirmed': '627171',
  'totaldeceased': '18227',
  'totalrecovered': '379903'},
 {'dailyconfirmed': '22718',
  'dailydeceased': '444',
  'dailyrecovered': '14417',
  'date': '03 July ',
  'dateymd': '2020-07-03',
  'totalconfirmed': '649889',
  'totaldeceased': '18671',
  'totalrecovered': '394320'},
 {'dailyconfirmed': '24018',
  'dailydeceased': '611',
  'dailyrecovered': '14746',
  'date': '04 July ',
  'dateymd': '2020-07-04',
  'totalconfirmed': '673907',
  'totaldeceased': '19282',
  'totalrecovered': '409066'},
 {'dailyconfirmed': '23942',
  'dailydeceased': '421',
  'dailyrecovered': '15829',
  'date': '05 July ',
  'dateymd': '2020-07-05',
  'totalconfirmed': '697849',
  'totaldeceased': '19703',
  'totalrecovered': '424895'},
 {'dailyconfirmed': '22500',
  'dailydeceased': '473',
  'dailyrecovered': '15315',
  'date': '06 July ',
  'dateymd': '2020-07-06',
  'totalconfirmed': '720349',
  'totaldeceased': '20176',
  'totalrecovered': '440210'},
 {'dailyconfirmed': '23147',
  'dailydeceased': '479',
  'dailyrecovered': '16836',
  'date': '07 July ',
  'dateymd': '2020-07-07',
  'totalconfirmed': '743496',
  'totaldeceased': '20655',
  'totalrecovered': '457046'},
 {'dailyconfirmed': '25561',
  'dailydeceased': '492',
  'dailyrecovered': '19508',
  'date': '08 July ',
  'dateymd': '2020-07-08',
  'totalconfirmed': '769057',
  'totaldeceased': '21147',
  'totalrecovered': '476554'},
 {'dailyconfirmed': '25790',
  'dailydeceased': '479',
  'dailyrecovered': '19408',
  'date': '09 July ',
  'dateymd': '2020-07-09',
  'totalconfirmed': '794847',
  'totaldeceased': '21626',
  'totalrecovered': '495962'},
 {'dailyconfirmed': '27762',
  'dailydeceased': '520',
  'dailyrecovered': '20289',
  'date': '10 July ',
  'dateymd': '2020-07-10',
  'totalconfirmed': '822609',
  'totaldeceased': '22146',
  'totalrecovered': '516251'},
 {'dailyconfirmed': '27757',
  'dailydeceased': '543',
  'dailyrecovered': '19981',
  'date': '11 July ',
  'dateymd': '2020-07-11',
  'totalconfirmed': '850366',
  'totaldeceased': '22689',
  'totalrecovered': '536232'},
 {'dailyconfirmed': '29106',
  'dailydeceased': '500',
  'dailyrecovered': '18198',
  'date': '12 July ',
  'dateymd': '2020-07-12',
  'totalconfirmed': '879472',
  'totaldeceased': '23189',
  'totalrecovered': '554430'},
 {'dailyconfirmed': '28178',
  'dailydeceased': '541',
  'dailyrecovered': '17683',
  'date': '13 July ',
  'dateymd': '2020-07-13',
  'totalconfirmed': '907650',
  'totaldeceased': '23730',
  'totalrecovered': '572113'},
 {'dailyconfirmed': '29917',
  'dailydeceased': '587',
  'dailyrecovered': '20977',
  'date': '14 July ',
  'dateymd': '2020-07-14',
  'totalconfirmed': '937567',
  'totaldeceased': '24317',
  'totalrecovered': '593090'},
 {'dailyconfirmed': '32607',
  'dailydeceased': '614',
  'dailyrecovered': '20646',
  'date': '15 July ',
  'dateymd': '2020-07-15',
  'totalconfirmed': '970174',
  'totaldeceased': '24931',
  'totalrecovered': '613736'},
 {'dailyconfirmed': '35468',
  'dailydeceased': '680',
  'dailyrecovered': '22867',
  'date': '16 July ',
  'dateymd': '2020-07-16',
  'totalconfirmed': '1005642',
  'totaldeceased': '25611',
  'totalrecovered': '636603'},
 {'dailyconfirmed': '34820',
  'dailydeceased': '676',
  'dailyrecovered': '17476',
  'date': '17 July ',
  'dateymd': '2020-07-17',
  'totalconfirmed': '1040462',
  'totaldeceased': '26287',
  'totalrecovered': '654079'},
 {'dailyconfirmed': '37411',
  'dailydeceased': '543',
  'dailyrecovered': '23583',
  'date': '18 July ',
  'dateymd': '2020-07-18',
  'totalconfirmed': '1077873',
  'totaldeceased': '26830',
  'totalrecovered': '677662'},
 {'dailyconfirmed': '40235',
  'dailydeceased': '675',
  'dailyrecovered': '22730',
  'date': '19 July ',
  'dateymd': '2020-07-19',
  'totalconfirmed': '1118108',
  'totaldeceased': '27505',
  'totalrecovered': '700392'},
 {'dailyconfirmed': '36806',
  'dailydeceased': '596',
  'dailyrecovered': '24303',
  'date': '20 July ',
  'dateymd': '2020-07-20',
  'totalconfirmed': '1154914',
  'totaldeceased': '28101',
  'totalrecovered': '724695'},
 {'dailyconfirmed': '39170',
  'dailydeceased': '671',
  'dailyrecovered': '27589',
  'date': '21 July ',
  'dateymd': '2020-07-21',
  'totalconfirmed': '1194084',
  'totaldeceased': '28772',
  'totalrecovered': '752284'},
 {'dailyconfirmed': '45601',
  'dailydeceased': '1130',
  'dailyrecovered': '31875',
  'date': '22 July ',
  'dateymd': '2020-07-22',
  'totalconfirmed': '1239685',
  'totaldeceased': '29902',
  'totalrecovered': '784159'},
 {'dailyconfirmed': '48443',
  'dailydeceased': '755',
  'dailyrecovered': '33326',
  'date': '23 July ',
  'dateymd': '2020-07-23',
  'totalconfirmed': '1288128',
  'totaldeceased': '30657',
  'totalrecovered': '817485'},
 {'dailyconfirmed': '48888',
  'dailydeceased': '763',
  'dailyrecovered': '32514',
  'date': '24 July ',
  'dateymd': '2020-07-24',
  'totalconfirmed': '1337016',
  'totaldeceased': '31420',
  'totalrecovered': '849999'},
 {'dailyconfirmed': '50072',
  'dailydeceased': '703',
  'dailyrecovered': '37125',
  'date': '25 July ',
  'dateymd': '2020-07-25',
  'totalconfirmed': '1387088',
  'totaldeceased': '32123',
  'totalrecovered': '887124'},
 {'dailyconfirmed': '48932',
  'dailydeceased': '704',
  'dailyrecovered': '31512',
  'date': '26 July ',
  'dateymd': '2020-07-26',
  'totalconfirmed': '1436020',
  'totaldeceased': '32827',
  'totalrecovered': '918636'},
 {'dailyconfirmed': '46484',
  'dailydeceased': '642',
  'dailyrecovered': '34354',
  'date': '27 July ',
  'dateymd': '2020-07-27',
  'totalconfirmed': '1482504',
  'totaldeceased': '33469',
  'totalrecovered': '952990'},
 {'dailyconfirmed': '49631',
  'dailydeceased': '774',
  'dailyrecovered': '35683',
  'date': '28 July ',
  'dateymd': '2020-07-28',
  'totalconfirmed': '1532135',
  'totaldeceased': '34243',
  'totalrecovered': '988673'},
 {'dailyconfirmed': '52479',
  'dailydeceased': '775',
  'dailyrecovered': '32886',
  'date': '29 July ',
  'dateymd': '2020-07-29',
  'totalconfirmed': '1584614',
  'totaldeceased': '35018',
  'totalrecovered': '1021559'},
 {'dailyconfirmed': '54968',
  'dailydeceased': '784',
  'dailyrecovered': '37425',
  'date': '30 July ',
  'dateymd': '2020-07-30',
  'totalconfirmed': '1639582',
  'totaldeceased': '35802',
  'totalrecovered': '1058984'},
 {'dailyconfirmed': '57486',
  'dailydeceased': '764',
  'dailyrecovered': '36554',
  'date': '31 July ',
  'dateymd': '2020-07-31',
  'totalconfirmed': '1697068',
  'totaldeceased': '36566',
  'totalrecovered': '1095538'},
 {'dailyconfirmed': '55117',
  'dailydeceased': '854',
  'dailyrecovered': '51368',
  'date': '01 August ',
  'dateymd': '2020-08-01',
  'totalconfirmed': '1752185',
  'totaldeceased': '37420',
  'totalrecovered': '1146906'},
 {'dailyconfirmed': '52672',
  'dailydeceased': '760',
  'dailyrecovered': '40355',
  'date': '02 August ',
  'dateymd': '2020-08-02',
  'totalconfirmed': '1804857',
  'totaldeceased': '38180',
  'totalrecovered': '1187261'},
 {'dailyconfirmed': '50488',
  'dailydeceased': '806',
  'dailyrecovered': '43070',
  'date': '03 August ',
  'dateymd': '2020-08-03',
  'totalconfirmed': '1855345',
  'totaldeceased': '38986',
  'totalrecovered': '1230331'},
 {'dailyconfirmed': '51282',
  'dailydeceased': '849',
  'dailyrecovered': '51220',
  'date': '04 August ',
  'dateymd': '2020-08-04',
  'totalconfirmed': '1906627',
  'totaldeceased': '39835',
  'totalrecovered': '1281551'},
 {'dailyconfirmed': '56626',
  'dailydeceased': '919',
  'dailyrecovered': '45583',
  'date': '05 August ',
  'dateymd': '2020-08-05',
  'totalconfirmed': '1963253',
  'totaldeceased': '40754',
  'totalrecovered': '1327134'},
 {'dailyconfirmed': '62170',
  'dailydeceased': '899',
  'dailyrecovered': '50141',
  'date': '06 August ',
  'dateymd': '2020-08-06',
  'totalconfirmed': '2025423',
  'totaldeceased': '41653',
  'totalrecovered': '1377275'},
 {'dailyconfirmed': '61455',
  'dailydeceased': '936',
  'dailyrecovered': '50387',
  'date': '07 August ',
  'dateymd': '2020-08-07',
  'totalconfirmed': '2086878',
  'totaldeceased': '42589',
  'totalrecovered': '1427662'},
 {'dailyconfirmed': '65156',
  'dailydeceased': '875',
  'dailyrecovered': '52135',
  'date': '08 August ',
  'dateymd': '2020-08-08',
  'totalconfirmed': '2152034',
  'totaldeceased': '43464',
  'totalrecovered': '1479797'},
 {'dailyconfirmed': '62117',
  'dailydeceased': '1013',
  'dailyrecovered': '54474',
  'date': '09 August ',
  'dateymd': '2020-08-09',
  'totalconfirmed': '2214151',
  'totaldeceased': '44477',
  'totalrecovered': '1534271'},
 {'dailyconfirmed': '53016',
  'dailydeceased': '887',
  'dailyrecovered': '47362',
  'date': '10 August ',
  'dateymd': '2020-08-10',
  'totalconfirmed': '2267167',
  'totaldeceased': '45364',
  'totalrecovered': '1581633'},
 {'dailyconfirmed': '61252',
  'dailydeceased': '835',
  'dailyrecovered': '56461',
  'date': '11 August ',
  'dateymd': '2020-08-11',
  'totalconfirmed': '2328419',
  'totaldeceased': '46199',
  'totalrecovered': '1638094'},
 {'dailyconfirmed': '67066',
  'dailydeceased': '950',
  'dailyrecovered': '57759',
  'date': '12 August ',
  'dateymd': '2020-08-12',
  'totalconfirmed': '2395485',
  'totaldeceased': '47149',
  'totalrecovered': '1695853'},
 {'dailyconfirmed': '64141',
  'dailydeceased': '1006',
  'dailyrecovered': '54776',
  'date': '13 August ',
  'dateymd': '2020-08-13',
  'totalconfirmed': '2459626',
  'totaldeceased': '48155',
  'totalrecovered': '1750629'},
 {'dailyconfirmed': '65610',
  'dailydeceased': '989',
  'dailyrecovered': '56920',
  'date': '14 August ',
  'dateymd': '2020-08-14',
  'totalconfirmed': '2525236',
  'totaldeceased': '49144',
  'totalrecovered': '1807549'},
 {'dailyconfirmed': '63986',
  'dailydeceased': '952',
  'dailyrecovered': '53116',
  'date': '15 August ',
  'dateymd': '2020-08-15',
  'totalconfirmed': '2589222',
  'totaldeceased': '50096',
  'totalrecovered': '1860665'},
 {'dailyconfirmed': '58096',
  'dailydeceased': '952',
  'dailyrecovered': '57404',
  'date': '16 August ',
  'dateymd': '2020-08-16',
  'totalconfirmed': '2647318',
  'totaldeceased': '51048',
  'totalrecovered': '1918069'},
 {'dailyconfirmed': '54298',
  'dailydeceased': '880',
  'dailyrecovered': '58172',
  'date': '17 August ',
  'dateymd': '2020-08-17',
  'totalconfirmed': '2701616',
  'totaldeceased': '51928',
  'totalrecovered': '1976241'},
 {'dailyconfirmed': '65024',
  'dailydeceased': '1099',
  'dailyrecovered': '60455',
  'date': '18 August ',
  'dateymd': '2020-08-18',
  'totalconfirmed': '2766640',
  'totaldeceased': '53027',
  'totalrecovered': '2036696'},
 {'dailyconfirmed': '69196',
  'dailydeceased': '979',
  'dailyrecovered': '59365',
  'date': '19 August ',
  'dateymd': '2020-08-19',
  'totalconfirmed': '2835836',
  'totaldeceased': '54006',
  'totalrecovered': '2096061'},
 {'dailyconfirmed': '68518',
  'dailydeceased': '981',
  'dailyrecovered': '61873',
  'date': '20 August ',
  'dateymd': '2020-08-20',
  'totalconfirmed': '2904354',
  'totaldeceased': '54987',
  'totalrecovered': '2157934'},
 {'dailyconfirmed': '69029',
  'dailydeceased': '953',
  'dailyrecovered': '62858',
  'date': '21 August ',
  'dateymd': '2020-08-21',
  'totalconfirmed': '2973383',
  'totaldeceased': '55940',
  'totalrecovered': '2220792'},
 {'dailyconfirmed': '70067',
  'dailydeceased': '918',
  'dailyrecovered': '59101',
  'date': '22 August ',
  'dateymd': '2020-08-22',
  'totalconfirmed': '3043450',
  'totaldeceased': '56858',
  'totalrecovered': '2279893'},
 {'dailyconfirmed': '61749',
  'dailydeceased': '846',
  'dailyrecovered': '56896',
  'date': '23 August ',
  'dateymd': '2020-08-23',
  'totalconfirmed': '3105199',
  'totaldeceased': '57704',
  'totalrecovered': '2336789'},
 {'dailyconfirmed': '59696',
  'dailydeceased': '854',
  'dailyrecovered': '66305',
  'date': '24 August ',
  'dateymd': '2020-08-24',
  'totalconfirmed': '3164895',
  'totaldeceased': '58558',
  'totalrecovered': '2403094'},
 {'dailyconfirmed': '66873',
  'dailydeceased': '1066',
  'dailyrecovered': '64151',
  'date': '25 August ',
  'dateymd': '2020-08-25',
  'totalconfirmed': '3231768',
  'totaldeceased': '59624',
  'totalrecovered': '2467245'},
 {'dailyconfirmed': '75995',
  'dailydeceased': '1017',
  'dailyrecovered': '56191',
  'date': '26 August ',
  'dateymd': '2020-08-26',
  'totalconfirmed': '3307763',
  'totaldeceased': '60641',
  'totalrecovered': '2523436'},
 {'dailyconfirmed': '76827',
  'dailydeceased': '1066',
  'dailyrecovered': '59620',
  'date': '27 August ',
  'dateymd': '2020-08-27',
  'totalconfirmed': '3384590',
  'totaldeceased': '61707',
  'totalrecovered': '2583056'},
 {'dailyconfirmed': '76657',
  'dailydeceased': '1019',
  'dailyrecovered': '64475',
  'date': '28 August ',
  'dateymd': '2020-08-28',
  'totalconfirmed': '3461247',
  'totaldeceased': '62726',
  'totalrecovered': '2647531'},
 {'dailyconfirmed': '78479',
  'dailydeceased': '943',
  'dailyrecovered': '64982',
  'date': '29 August ',
  'dateymd': '2020-08-29',
  'totalconfirmed': '3539726',
  'totaldeceased': '63669',
  'totalrecovered': '2712513'},
 {'dailyconfirmed': '79461',
  'dailydeceased': '960',
  'dailyrecovered': '60422',
  'date': '30 August ',
  'dateymd': '2020-08-30',
  'totalconfirmed': '3619187',
  'totaldeceased': '64629',
  'totalrecovered': '2772935'},
 {'dailyconfirmed': '68766',
  'dailydeceased': '816',
  'dailyrecovered': '64435',
  'date': '31 August ',
  'dateymd': '2020-08-31',
  'totalconfirmed': '3687953',
  'totaldeceased': '65445',
  'totalrecovered': '2837370'},
 {'dailyconfirmed': '78168',
  'dailydeceased': '892',
  'dailyrecovered': '62145',
  'date': '01 September ',
  'dateymd': '2020-09-01',
  'totalconfirmed': '3766121',
  'totaldeceased': '66337',
  'totalrecovered': '2899515'},
 {'dailyconfirmed': '82860',
  'dailydeceased': '913',
  'dailyrecovered': '67874',
  'date': '02 September ',
  'dateymd': '2020-09-02',
  'totalconfirmed': '3848981',
  'totaldeceased': '67250',
  'totalrecovered': '2967389'},
 {'dailyconfirmed': '84156',
  'dailydeceased': '979',
  'dailyrecovered': '67491',
  'date': '03 September ',
  'dateymd': '2020-09-03',
  'totalconfirmed': '3933137',
  'totaldeceased': '68229',
  'totalrecovered': '3034880'},
 {'dailyconfirmed': '87115',
  'dailydeceased': '950',
  'dailyrecovered': '69625',
  'date': '04 September ',
  'dateymd': '2020-09-04',
  'totalconfirmed': '4020252',
  'totaldeceased': '69179',
  'totalrecovered': '3104505'},
 {'dailyconfirmed': '90600',
  'dailydeceased': '916',
  'dailyrecovered': '73161',
  'date': '05 September ',
  'dateymd': '2020-09-05',
  'totalconfirmed': '4110852',
  'totaldeceased': '70095',
  'totalrecovered': '3177666'},
 {'dailyconfirmed': '91725',
  'dailydeceased': '1005',
  'dailyrecovered': '69630',
  'date': '06 September ',
  'dateymd': '2020-09-06',
  'totalconfirmed': '4202577',
  'totaldeceased': '71100',
  'totalrecovered': '3247296'},
 {'dailyconfirmed': '75015',
  'dailydeceased': '1129',
  'dailyrecovered': '74116',
  'date': '07 September ',
  'dateymd': '2020-09-07',
  'totalconfirmed': '4277592',
  'totaldeceased': '72229',
  'totalrecovered': '3321412'},
 {'dailyconfirmed': '89855',
  'dailydeceased': '1107',
  'dailyrecovered': '74608',
  'date': '08 September ',
  'dateymd': '2020-09-08',
  'totalconfirmed': '4367447',
  'totaldeceased': '73336',
  'totalrecovered': '3396020'},
 {'dailyconfirmed': '95536',
  'dailydeceased': '1168',
  'dailyrecovered': '73062',
  'date': '09 September ',
  'dateymd': '2020-09-09',
  'totalconfirmed': '4462983',
  'totaldeceased': '74504',
  'totalrecovered': '3469082'},
 {'dailyconfirmed': '96762',
  'dailydeceased': '1213',
  'dailyrecovered': '70904',
  'date': '10 September ',
  'dateymd': '2020-09-10',
  'totalconfirmed': '4559745',
  'totaldeceased': '75717',
  'totalrecovered': '3539986'},
 {'dailyconfirmed': '97655',
  'dailydeceased': '1202',
  'dailyrecovered': '81456',
  'date': '11 September ',
  'dateymd': '2020-09-11',
  'totalconfirmed': '4657400',
  'totaldeceased': '76919',
  'totalrecovered': '3621442'},
 {'dailyconfirmed': '94414',
  'dailydeceased': '1111',
  'dailyrecovered': '77862',
  'date': '12 September ',
  'dateymd': '2020-09-12',
  'totalconfirmed': '4751814',
  'totaldeceased': '78030',
  'totalrecovered': '3699304'},
 {'dailyconfirmed': '93220',
  'dailydeceased': '1140',
  'dailyrecovered': '77748',
  'date': '13 September ',
  'dateymd': '2020-09-13',
  'totalconfirmed': '4845034',
  'totaldeceased': '79170',
  'totalrecovered': '3777052'},
 {'dailyconfirmed': '81913',
  'dailydeceased': '1054',
  'dailyrecovered': '79213',
  'date': '14 September ',
  'dateymd': '2020-09-14',
  'totalconfirmed': '4926947',
  'totaldeceased': '80224',
  'totalrecovered': '3856265'},
 {'dailyconfirmed': '91098',
  'dailydeceased': '1281',
  'dailyrecovered': '82849',
  'date': '15 September ',
  'dateymd': '2020-09-15',
  'totalconfirmed': '5018045',
  'totaldeceased': '81505',
  'totalrecovered': '3939114'},
 {'dailyconfirmed': '97860',
  'dailydeceased': '1140',
  'dailyrecovered': '82924',
  'date': '16 September ',
  'dateymd': '2020-09-16',
  'totalconfirmed': '5115905',
  'totaldeceased': '82645',
  'totalrecovered': '4022038'},
 {'dailyconfirmed': '96787',
  'dailydeceased': '1175',
  'dailyrecovered': '87788',
  'date': '17 September ',
  'dateymd': '2020-09-17',
  'totalconfirmed': '5212692',
  'totaldeceased': '83820',
  'totalrecovered': '4109826'},
 {'dailyconfirmed': '92973',
  'dailydeceased': '1221',
  'dailyrecovered': '95515',
  'date': '18 September ',
  'dateymd': '2020-09-18',
  'totalconfirmed': '5305665',
  'totaldeceased': '85041',
  'totalrecovered': '4205341'},
 {'dailyconfirmed': '92574',
  'dailydeceased': '1149',
  'dailyrecovered': '94389',
  'date': '19 September ',
  'dateymd': '2020-09-19',
  'totalconfirmed': '5398239',
  'totaldeceased': '86190',
  'totalrecovered': '4299730'},
 {'dailyconfirmed': '87395',
  'dailydeceased': '1135',
  'dailyrecovered': '92926',
  'date': '20 September ',
  'dateymd': '2020-09-20',
  'totalconfirmed': '5485634',
  'totaldeceased': '87325',
  'totalrecovered': '4392656'},
 {'dailyconfirmed': '74493',
  'dailydeceased': '1056',
  'dailyrecovered': '102070',
  'date': '21 September ',
  'dateymd': '2020-09-21',
  'totalconfirmed': '5560127',
  'totaldeceased': '88381',
  'totalrecovered': '4494726'},
 {'dailyconfirmed': '83362',
  'dailydeceased': '1085',
  'dailyrecovered': '89657',
  'date': '22 September ',
  'dateymd': '2020-09-22',
  'totalconfirmed': '5643489',
  'totaldeceased': '89466',
  'totalrecovered': '4584383'},
 {'dailyconfirmed': '86703',
  'dailydeceased': '1123',
  'dailyrecovered': '87459',
  'date': '23 September ',
  'dateymd': '2020-09-23',
  'totalconfirmed': '5730192',
  'totaldeceased': '90589',
  'totalrecovered': '4671842'},
 {'dailyconfirmed': '85921',
  'dailydeceased': '1144',
  'dailyrecovered': '81142',
  'date': '24 September ',
  'dateymd': '2020-09-24',
  'totalconfirmed': '5816113',
  'totaldeceased': '91733',
  'totalrecovered': '4752984'},
 {'dailyconfirmed': '85717',
  'dailydeceased': '1093',
  'dailyrecovered': '93331',
  'date': '25 September ',
  'dateymd': '2020-09-25',
  'totalconfirmed': '5901830',
  'totaldeceased': '92826',
  'totalrecovered': '4846315'},
 {'dailyconfirmed': '88759',
  'dailydeceased': '1124',
  'dailyrecovered': '92365',
  'date': '26 September ',
  'dateymd': '2020-09-26',
  'totalconfirmed': '5990589',
  'totaldeceased': '93950',
  'totalrecovered': '4938680'},
 {'dailyconfirmed': '82770',
  'dailydeceased': '1040',
  'dailyrecovered': '74691',
  'date': '27 September ',
  'dateymd': '2020-09-27',
  'totalconfirmed': '6073359',
  'totaldeceased': '94990',
  'totalrecovered': '5013371'},
 {'dailyconfirmed': '69669',
  'dailydeceased': '775',
  'dailyrecovered': '85198',
  'date': '28 September ',
  'dateymd': '2020-09-28',
  'totalconfirmed': '6143028',
  'totaldeceased': '95765',
  'totalrecovered': '5098569'},
 {'dailyconfirmed': '80500',
  'dailydeceased': '1178',
  'dailyrecovered': '86150',
  'date': '29 September ',
  'dateymd': '2020-09-29',
  'totalconfirmed': '6223528',
  'totaldeceased': '96943',
  'totalrecovered': '5184719'},
 {'dailyconfirmed': '86748',
  'dailydeceased': '1179',
  'dailyrecovered': '85274',
  'date': '30 September ',
  'dateymd': '2020-09-30',
  'totalconfirmed': '6310276',
  'totaldeceased': '98122',
  'totalrecovered': '5269993'},
 {'dailyconfirmed': '81784',
  'dailydeceased': '1099',
  'dailyrecovered': '78731',
  'date': '01 October ',
  'dateymd': '2020-10-01',
  'totalconfirmed': '6392060',
  'totaldeceased': '99221',
  'totalrecovered': '5348724'},
 {'dailyconfirmed': '79883',
  'dailydeceased': '1068',
  'dailyrecovered': '76339',
  'date': '02 October ',
  'dateymd': '2020-10-02',
  'totalconfirmed': '6471943',
  'totaldeceased': '100289',
  'totalrecovered': '5425063'},
 {'dailyconfirmed': '75479',
  'dailydeceased': '937',
  'dailyrecovered': '81655',
  'date': '03 October ',
  'dateymd': '2020-10-03',
  'totalconfirmed': '6547422',
  'totaldeceased': '101226',
  'totalrecovered': '5506718'},
 {'dailyconfirmed': '74770',
  'dailydeceased': '903',
  'dailyrecovered': '76713',
  'date': '04 October ',
  'dateymd': '2020-10-04',
  'totalconfirmed': '6622192',
  'totaldeceased': '102129',
  'totalrecovered': '5583431'},
 {'dailyconfirmed': '60130',
  'dailydeceased': '886',
  'dailyrecovered': '75855',
  'date': '05 October ',
  'dateymd': '2020-10-05',
  'totalconfirmed': '6682322',
  'totaldeceased': '103015',
  'totalrecovered': '5659286'},
 {'dailyconfirmed': '71869',
  'dailydeceased': '990',
  'dailyrecovered': '81945',
  'date': '06 October ',
  'dateymd': '2020-10-06',
  'totalconfirmed': '6754191',
  'totaldeceased': '104005',
  'totalrecovered': '5741231'},
 {'dailyconfirmed': '78809',
  'dailydeceased': '963',
  'dailyrecovered': '83209',
  'date': '07 October ',
  'dateymd': '2020-10-07',
  'totalconfirmed': '6833000',
  'totaldeceased': '104968',
  'totalrecovered': '5824440'},
 {'dailyconfirmed': '70797',
  'dailydeceased': '967',
  'dailyrecovered': '78745',
  'date': '08 October ',
  'dateymd': '2020-10-08',
  'totalconfirmed': '6903797',
  'totaldeceased': '105935',
  'totalrecovered': '5903185'},
 {'dailyconfirmed': '73305',
  'dailydeceased': '929',
  'dailyrecovered': '82628',
  'date': '09 October ',
  'dateymd': '2020-10-09',
  'totalconfirmed': '6977102',
  'totaldeceased': '106864',
  'totalrecovered': '5985813'},
 {'dailyconfirmed': '74418',
  'dailydeceased': '921',
  'dailyrecovered': '89024',
  'date': '10 October ',
  'dateymd': '2020-10-10',
  'totalconfirmed': '7051520',
  'totaldeceased': '107785',
  'totalrecovered': '6074837'},
 {'dailyconfirmed': '67789',
  'dailydeceased': '813',
  'dailyrecovered': '71565',
  'date': '11 October ',
  'dateymd': '2020-10-11',
  'totalconfirmed': '7119309',
  'totaldeceased': '108598',
  'totalrecovered': '6146402'},
 {'dailyconfirmed': '54262',
  'dailydeceased': '710',
  'dailyrecovered': '78365',
  'date': '12 October ',
  'dateymd': '2020-10-12',
  'totalconfirmed': '7173571',
  'totaldeceased': '109308',
  'totalrecovered': '6224767'},
 {'dailyconfirmed': '63717',
  'dailydeceased': '727',
  'dailyrecovered': '74079',
  'date': '13 October ',
  'dateymd': '2020-10-13',
  'totalconfirmed': '7237288',
  'totaldeceased': '110035',
  'totalrecovered': '6298846'},
 {'dailyconfirmed': '67811',
  'dailydeceased': '690',
  'dailyrecovered': '81582',
  'date': '14 October ',
  'dateymd': '2020-10-14',
  'totalconfirmed': '7305099',
  'totaldeceased': '110725',
  'totalrecovered': '6380428'},
 {'dailyconfirmed': '63441',
  'dailydeceased': '882',
  'dailyrecovered': '70792',
  'date': '15 October ',
  'dateymd': '2020-10-15',
  'totalconfirmed': '7368540',
  'totaldeceased': '111607',
  'totalrecovered': '6451220'},
 {'dailyconfirmed': '62304',
  'dailydeceased': '840',
  'dailyrecovered': '70568',
  'date': '16 October ',
  'dateymd': '2020-10-16',
  'totalconfirmed': '7430844',
  'totaldeceased': '112447',
  'totalrecovered': '6521788'},
 {'dailyconfirmed': '61893',
  'dailydeceased': '1032',
  'dailyrecovered': '72583',
  'date': '17 October ',
  'dateymd': '2020-10-17',
  'totalconfirmed': '7492737',
  'totaldeceased': '113479',
  'totalrecovered': '6594371'},
 {'dailyconfirmed': '56519',
  'dailydeceased': '582',
  'dailyrecovered': '66418',
  'date': '18 October ',
  'dateymd': '2020-10-18',
  'totalconfirmed': '7549256',
  'totaldeceased': '114061',
  'totalrecovered': '6660789'},
 {'dailyconfirmed': '45506',
  'dailydeceased': '589',
  'dailyrecovered': '69800',
  'date': '19 October ',
  'dateymd': '2020-10-19',
  'totalconfirmed': '7594762',
  'totaldeceased': '114650',
  'totalrecovered': '6730589'},
 {'dailyconfirmed': '54348',
  'dailydeceased': '714',
  'dailyrecovered': '61828',
  'date': '20 October ',
  'dateymd': '2020-10-20',
  'totalconfirmed': '7649110',
  'totaldeceased': '115364',
  'totalrecovered': '6792417'},
 {'dailyconfirmed': '56264',
  'dailydeceased': '701',
  'dailyrecovered': '79561',
  'date': '21 October ',
  'dateymd': '2020-10-21',
  'totalconfirmed': '7705374',
  'totaldeceased': '116065',
  'totalrecovered': '6871978'},
 {'dailyconfirmed': '54371',
  'dailydeceased': '686',
  'dailyrecovered': '74569',
  'date': '22 October ',
  'dateymd': '2020-10-22',
  'totalconfirmed': '7759745',
  'totaldeceased': '116751',
  'totalrecovered': '6946547'},
 {'dailyconfirmed': '53931',
  'dailydeceased': '655',
  'dailyrecovered': '66994',
  'date': '23 October ',
  'dateymd': '2020-10-23',
  'totalconfirmed': '7813676',
  'totaldeceased': '117406',
  'totalrecovered': '7013541'},
 {'dailyconfirmed': '50366',
  'dailydeceased': '578',
  'dailyrecovered': '62270',
  'date': '24 October ',
  'dateymd': '2020-10-24',
  'totalconfirmed': '7864042',
  'totaldeceased': '117984',
  'totalrecovered': '7075811'},
 {'dailyconfirmed': '45922',
  'dailydeceased': '483',
  'dailyrecovered': '59304',
  'date': '25 October ',
  'dateymd': '2020-10-25',
  'totalconfirmed': '7909964',
  'totaldeceased': '118467',
  'totalrecovered': '7135115'},
 {'dailyconfirmed': '36019',
  'dailydeceased': '485',
  'dailyrecovered': '63734',
  'date': '26 October ',
  'dateymd': '2020-10-26',
  'totalconfirmed': '7945983',
  'totaldeceased': '118952',
  'totalrecovered': '7198849'},
 {'dailyconfirmed': '43036',
  'dailydeceased': '511',
  'dailyrecovered': '58429',
  'date': '27 October ',
  'dateymd': '2020-10-27',
  'totalconfirmed': '7989019',
  'totaldeceased': '119463',
  'totalrecovered': '7257278'},
 {'dailyconfirmed': '50188',
  'dailydeceased': '514',
  'dailyrecovered': '56594',
  'date': '28 October ',
  'dateymd': '2020-10-28',
  'totalconfirmed': '8039207',
  'totaldeceased': '119977',
  'totalrecovered': '7313872'},
 {'dailyconfirmed': '48762',
  'dailydeceased': '562',
  'dailyrecovered': '57859',
  'date': '29 October ',
  'dateymd': '2020-10-29',
  'totalconfirmed': '8087969',
  'totaldeceased': '120539',
  'totalrecovered': '7371731'}]
resp = requests.get('https://api.covid19api.com/countries')
if resp.status_code != 200:
    # This means something went wrong.
    raise ApiError('GET /tasks/ {}'.format(resp.status_code))

    
resp.json()
[{'Country': 'Hong Kong, SAR China',
  'Slug': 'hong-kong-sar-china',
  'ISO2': 'HK'},
 {'Country': 'Jersey', 'Slug': 'jersey', 'ISO2': 'JE'},
 {'Country': 'Taiwan, Republic of China', 'Slug': 'taiwan', 'ISO2': 'TW'},
 {'Country': 'Christmas Island', 'Slug': 'christmas-island', 'ISO2': 'CX'},
 {'Country': 'Cuba', 'Slug': 'cuba', 'ISO2': 'CU'},
 {'Country': 'Holy See (Vatican City State)',
  'Slug': 'holy-see-vatican-city-state',
  'ISO2': 'VA'},
 {'Country': 'Syrian Arab Republic (Syria)', 'Slug': 'syria', 'ISO2': 'SY'},
 {'Country': 'Montenegro', 'Slug': 'montenegro', 'ISO2': 'ME'},
 {'Country': 'Montserrat', 'Slug': 'montserrat', 'ISO2': 'MS'},
 {'Country': 'Oman', 'Slug': 'oman', 'ISO2': 'OM'},
 {'Country': 'Tunisia', 'Slug': 'tunisia', 'ISO2': 'TN'},
 {'Country': 'French Southern Territories',
  'Slug': 'french-southern-territories',
  'ISO2': 'TF'},
 {'Country': 'Monaco', 'Slug': 'monaco', 'ISO2': 'MC'},
 {'Country': 'Saint-Barthélemy', 'Slug': 'saint-barthélemy', 'ISO2': 'BL'},
 {'Country': 'Trinidad and Tobago',
  'Slug': 'trinidad-and-tobago',
  'ISO2': 'TT'},
 {'Country': 'Greece', 'Slug': 'greece', 'ISO2': 'GR'},
 {'Country': 'Ireland', 'Slug': 'ireland', 'ISO2': 'IE'},
 {'Country': 'Kiribati', 'Slug': 'kiribati', 'ISO2': 'KI'},
 {'Country': 'Saint Vincent and Grenadines',
  'Slug': 'saint-vincent-and-the-grenadines',
  'ISO2': 'VC'},
 {'Country': 'Tanzania, United Republic of', 'Slug': 'tanzania', 'ISO2': 'TZ'},
 {'Country': 'Thailand', 'Slug': 'thailand', 'ISO2': 'TH'},
 {'Country': 'New Caledonia', 'Slug': 'new-caledonia', 'ISO2': 'NC'},
 {'Country': 'Suriname', 'Slug': 'suriname', 'ISO2': 'SR'},
 {'Country': 'Cyprus', 'Slug': 'cyprus', 'ISO2': 'CY'},
 {'Country': 'Liechtenstein', 'Slug': 'liechtenstein', 'ISO2': 'LI'},
 {'Country': 'Slovakia', 'Slug': 'slovakia', 'ISO2': 'SK'},
 {'Country': 'British Indian Ocean Territory',
  'Slug': 'british-indian-ocean-territory',
  'ISO2': 'IO'},
 {'Country': 'Congo (Kinshasa)', 'Slug': 'congo-kinshasa', 'ISO2': 'CD'},
 {'Country': 'Philippines', 'Slug': 'philippines', 'ISO2': 'PH'},
 {'Country': 'Tokelau', 'Slug': 'tokelau', 'ISO2': 'TK'},
 {'Country': 'China', 'Slug': 'china', 'ISO2': 'CN'},
 {'Country': 'Kenya', 'Slug': 'kenya', 'ISO2': 'KE'},
 {'Country': 'Saint Kitts and Nevis',
  'Slug': 'saint-kitts-and-nevis',
  'ISO2': 'KN'},
 {'Country': 'Germany', 'Slug': 'germany', 'ISO2': 'DE'},
 {'Country': 'Malta', 'Slug': 'malta', 'ISO2': 'MT'},
 {'Country': 'Mauritius', 'Slug': 'mauritius', 'ISO2': 'MU'},
 {'Country': 'Cayman Islands', 'Slug': 'cayman-islands', 'ISO2': 'KY'},
 {'Country': 'Kyrgyzstan', 'Slug': 'kyrgyzstan', 'ISO2': 'KG'},
 {'Country': 'Somalia', 'Slug': 'somalia', 'ISO2': 'SO'},
 {'Country': 'Aruba', 'Slug': 'aruba', 'ISO2': 'AW'},
 {'Country': 'San Marino', 'Slug': 'san-marino', 'ISO2': 'SM'},
 {'Country': 'Vanuatu', 'Slug': 'vanuatu', 'ISO2': 'VU'},
 {'Country': 'Zambia', 'Slug': 'zambia', 'ISO2': 'ZM'},
 {'Country': 'Equatorial Guinea', 'Slug': 'equatorial-guinea', 'ISO2': 'GQ'},
 {'Country': 'Rwanda', 'Slug': 'rwanda', 'ISO2': 'RW'},
 {'Country': 'Argentina', 'Slug': 'argentina', 'ISO2': 'AR'},
 {'Country': 'Estonia', 'Slug': 'estonia', 'ISO2': 'EE'},
 {'Country': 'Guyana', 'Slug': 'guyana', 'ISO2': 'GY'},
 {'Country': 'Israel', 'Slug': 'israel', 'ISO2': 'IL'},
 {'Country': 'Lithuania', 'Slug': 'lithuania', 'ISO2': 'LT'},
 {'Country': 'Madagascar', 'Slug': 'madagascar', 'ISO2': 'MG'},
 {'Country': 'Bangladesh', 'Slug': 'bangladesh', 'ISO2': 'BD'},
 {'Country': 'French Guiana', 'Slug': 'french-guiana', 'ISO2': 'GF'},
 {'Country': 'El Salvador', 'Slug': 'el-salvador', 'ISO2': 'SV'},
 {'Country': 'Norfolk Island', 'Slug': 'norfolk-island', 'ISO2': 'NF'},
 {'Country': 'Puerto Rico', 'Slug': 'puerto-rico', 'ISO2': 'PR'},
 {'Country': 'Algeria', 'Slug': 'algeria', 'ISO2': 'DZ'},
 {'Country': 'Bhutan', 'Slug': 'bhutan', 'ISO2': 'BT'},
 {'Country': 'Croatia', 'Slug': 'croatia', 'ISO2': 'HR'},
 {'Country': 'Pitcairn', 'Slug': 'pitcairn', 'ISO2': 'PN'},
 {'Country': 'South Sudan', 'Slug': 'south-sudan', 'ISO2': 'SS'},
 {'Country': 'Tuvalu', 'Slug': 'tuvalu', 'ISO2': 'TV'},
 {'Country': 'Congo (Brazzaville)', 'Slug': 'congo-brazzaville', 'ISO2': 'CG'},
 {'Country': 'Honduras', 'Slug': 'honduras', 'ISO2': 'HN'},
 {'Country': 'Paraguay', 'Slug': 'paraguay', 'ISO2': 'PY'},
 {'Country': 'United Kingdom', 'Slug': 'united-kingdom', 'ISO2': 'GB'},
 {'Country': 'Falkland Islands (Malvinas)',
  'Slug': 'falkland-islands-malvinas',
  'ISO2': 'FK'},
 {'Country': 'Guinea', 'Slug': 'guinea', 'ISO2': 'GN'},
 {'Country': 'Mongolia', 'Slug': 'mongolia', 'ISO2': 'MN'},
 {'Country': 'Bulgaria', 'Slug': 'bulgaria', 'ISO2': 'BG'},
 {'Country': 'Indonesia', 'Slug': 'indonesia', 'ISO2': 'ID'},
 {'Country': 'Micronesia, Federated States of',
  'Slug': 'micronesia',
  'ISO2': 'FM'},
 {'Country': 'Papua New Guinea', 'Slug': 'papua-new-guinea', 'ISO2': 'PG'},
 {'Country': 'United Arab Emirates',
  'Slug': 'united-arab-emirates',
  'ISO2': 'AE'},
 {'Country': 'Palestinian Territory', 'Slug': 'palestine', 'ISO2': 'PS'},
 {'Country': 'Portugal', 'Slug': 'portugal', 'ISO2': 'PT'},
 {'Country': 'Sudan', 'Slug': 'sudan', 'ISO2': 'SD'},
 {'Country': 'Uganda', 'Slug': 'uganda', 'ISO2': 'UG'},
 {'Country': 'United States of America',
  'Slug': 'united-states',
  'ISO2': 'US'},
 {'Country': 'Guatemala', 'Slug': 'guatemala', 'ISO2': 'GT'},
 {'Country': 'Malawi', 'Slug': 'malawi', 'ISO2': 'MW'},
 {'Country': 'Uzbekistan', 'Slug': 'uzbekistan', 'ISO2': 'UZ'},
 {'Country': 'Nigeria', 'Slug': 'nigeria', 'ISO2': 'NG'},
 {'Country': 'Turkey', 'Slug': 'turkey', 'ISO2': 'TR'},
 {'Country': 'Yemen', 'Slug': 'yemen', 'ISO2': 'YE'},
 {'Country': 'Albania', 'Slug': 'albania', 'ISO2': 'AL'},
 {'Country': 'Bermuda', 'Slug': 'bermuda', 'ISO2': 'BM'},
 {'Country': 'Panama', 'Slug': 'panama', 'ISO2': 'PA'},
 {'Country': 'Seychelles', 'Slug': 'seychelles', 'ISO2': 'SC'},
 {'Country': 'Sierra Leone', 'Slug': 'sierra-leone', 'ISO2': 'SL'},
 {'Country': 'Nepal', 'Slug': 'nepal', 'ISO2': 'NP'},
 {'Country': 'Réunion', 'Slug': 'réunion', 'ISO2': 'RE'},
 {'Country': 'Samoa', 'Slug': 'samoa', 'ISO2': 'WS'},
 {'Country': 'Swaziland', 'Slug': 'swaziland', 'ISO2': 'SZ'},
 {'Country': 'Canada', 'Slug': 'canada', 'ISO2': 'CA'},
 {'Country': 'Marshall Islands', 'Slug': 'marshall-islands', 'ISO2': 'MH'},
 {'Country': 'Mauritania', 'Slug': 'mauritania', 'ISO2': 'MR'},
 {'Country': 'Myanmar', 'Slug': 'myanmar', 'ISO2': 'MM'},
 {'Country': 'Niue', 'Slug': 'niue', 'ISO2': 'NU'},
 {'Country': 'Solomon Islands', 'Slug': 'solomon-islands', 'ISO2': 'SB'},
 {'Country': 'Italy', 'Slug': 'italy', 'ISO2': 'IT'},
 {'Country': 'Timor-Leste', 'Slug': 'timor-leste', 'ISO2': 'TL'},
 {'Country': 'Botswana', 'Slug': 'botswana', 'ISO2': 'BW'},
 {'Country': 'Dominica', 'Slug': 'dominica', 'ISO2': 'DM'},
 {'Country': 'Iraq', 'Slug': 'iraq', 'ISO2': 'IQ'},
 {'Country': 'Niger', 'Slug': 'niger', 'ISO2': 'NE'},
 {'Country': 'Palau', 'Slug': 'palau', 'ISO2': 'PW'},
 {'Country': 'Guinea-Bissau', 'Slug': 'guinea-bissau', 'ISO2': 'GW'},
 {'Country': 'Western Sahara', 'Slug': 'western-sahara', 'ISO2': 'EH'},
 {'Country': 'Bahamas', 'Slug': 'bahamas', 'ISO2': 'BS'},
 {'Country': 'Czech Republic', 'Slug': 'czech-republic', 'ISO2': 'CZ'},
 {'Country': 'Djibouti', 'Slug': 'djibouti', 'ISO2': 'DJ'},
 {'Country': 'Venezuela (Bolivarian Republic)',
  'Slug': 'venezuela',
  'ISO2': 'VE'},
 {'Country': 'Belarus', 'Slug': 'belarus', 'ISO2': 'BY'},
 {'Country': 'Serbia', 'Slug': 'serbia', 'ISO2': 'RS'},
 {'Country': 'Ethiopia', 'Slug': 'ethiopia', 'ISO2': 'ET'},
 {'Country': 'Mayotte', 'Slug': 'mayotte', 'ISO2': 'YT'},
 {'Country': 'Pakistan', 'Slug': 'pakistan', 'ISO2': 'PK'},
 {'Country': 'Republic of Kosovo', 'Slug': 'kosovo', 'ISO2': 'XK'},
 {'Country': 'Ecuador', 'Slug': 'ecuador', 'ISO2': 'EC'},
 {'Country': 'Cape Verde', 'Slug': 'cape-verde', 'ISO2': 'CV'},
 {'Country': 'French Polynesia', 'Slug': 'french-polynesia', 'ISO2': 'PF'},
 {'Country': 'Lao PDR', 'Slug': 'lao-pdr', 'ISO2': 'LA'},
 {'Country': 'Cameroon', 'Slug': 'cameroon', 'ISO2': 'CM'},
 {'Country': 'Dominican Republic', 'Slug': 'dominican-republic', 'ISO2': 'DO'},
 {'Country': 'Jamaica', 'Slug': 'jamaica', 'ISO2': 'JM'},
 {'Country': 'Saint Pierre and Miquelon',
  'Slug': 'saint-pierre-and-miquelon',
  'ISO2': 'PM'},
 {'Country': 'Uruguay', 'Slug': 'uruguay', 'ISO2': 'UY'},
 {'Country': 'Afghanistan', 'Slug': 'afghanistan', 'ISO2': 'AF'},
 {'Country': 'Bahrain', 'Slug': 'bahrain', 'ISO2': 'BH'},
 {'Country': 'Burundi', 'Slug': 'burundi', 'ISO2': 'BI'},
 {'Country': 'Denmark', 'Slug': 'denmark', 'ISO2': 'DK'},
 {'Country': 'Luxembourg', 'Slug': 'luxembourg', 'ISO2': 'LU'},
 {'Country': 'American Samoa', 'Slug': 'american-samoa', 'ISO2': 'AS'},
 {'Country': 'Azerbaijan', 'Slug': 'azerbaijan', 'ISO2': 'AZ'},
 {'Country': 'Chile', 'Slug': 'chile', 'ISO2': 'CL'},
 {'Country': 'Ghana', 'Slug': 'ghana', 'ISO2': 'GH'},
 {'Country': 'Kuwait', 'Slug': 'kuwait', 'ISO2': 'KW'},
 {'Country': 'Togo', 'Slug': 'togo', 'ISO2': 'TG'},
 {'Country': 'Brunei Darussalam', 'Slug': 'brunei', 'ISO2': 'BN'},
 {'Country': 'Central African Republic',
  'Slug': 'central-african-republic',
  'ISO2': 'CF'},
 {'Country': 'US Minor Outlying Islands',
  'Slug': 'us-minor-outlying-islands',
  'ISO2': 'UM'},
 {'Country': 'Colombia', 'Slug': 'colombia', 'ISO2': 'CO'},
 {'Country': 'Maldives', 'Slug': 'maldives', 'ISO2': 'MV'},
 {'Country': 'Gambia', 'Slug': 'gambia', 'ISO2': 'GM'},
 {'Country': 'Andorra', 'Slug': 'andorra', 'ISO2': 'AD'},
 {'Country': 'Faroe Islands', 'Slug': 'faroe-islands', 'ISO2': 'FO'},
 {'Country': 'Qatar', 'Slug': 'qatar', 'ISO2': 'QA'},
 {'Country': 'Guam', 'Slug': 'guam', 'ISO2': 'GU'},
 {'Country': 'Japan', 'Slug': 'japan', 'ISO2': 'JP'},
 {'Country': 'France', 'Slug': 'france', 'ISO2': 'FR'},
 {'Country': 'Korea (South)', 'Slug': 'korea-south', 'ISO2': 'KR'},
 {'Country': 'Eritrea', 'Slug': 'eritrea', 'ISO2': 'ER'},
 {'Country': 'Latvia', 'Slug': 'latvia', 'ISO2': 'LV'},
 {'Country': 'Lesotho', 'Slug': 'lesotho', 'ISO2': 'LS'},
 {'Country': 'Sao Tome and Principe',
  'Slug': 'sao-tome-and-principe',
  'ISO2': 'ST'},
 {'Country': 'Heard and Mcdonald Islands',
  'Slug': 'heard-and-mcdonald-islands',
  'ISO2': 'HM'},
 {'Country': 'Lebanon', 'Slug': 'lebanon', 'ISO2': 'LB'},
 {'Country': 'Malaysia', 'Slug': 'malaysia', 'ISO2': 'MY'},
 {'Country': 'Svalbard and Jan Mayen Islands',
  'Slug': 'svalbard-and-jan-mayen-islands',
  'ISO2': 'SJ'},
 {'Country': 'Norway', 'Slug': 'norway', 'ISO2': 'NO'},
 {'Country': 'Saint Helena', 'Slug': 'saint-helena', 'ISO2': 'SH'},
 {'Country': 'Slovenia', 'Slug': 'slovenia', 'ISO2': 'SI'},
 {'Country': 'Cambodia', 'Slug': 'cambodia', 'ISO2': 'KH'},
 {'Country': 'Costa Rica', 'Slug': 'costa-rica', 'ISO2': 'CR'},
 {'Country': 'Mali', 'Slug': 'mali', 'ISO2': 'ML'},
 {'Country': 'India', 'Slug': 'india', 'ISO2': 'IN'},
 {'Country': 'Mozambique', 'Slug': 'mozambique', 'ISO2': 'MZ'},
 {'Country': 'Netherlands Antilles',
  'Slug': 'netherlands-antilles',
  'ISO2': 'AN'},
 {'Country': 'Antigua and Barbuda',
  'Slug': 'antigua-and-barbuda',
  'ISO2': 'AG'},
 {'Country': 'Belize', 'Slug': 'belize', 'ISO2': 'BZ'},
 {'Country': 'Cook Islands', 'Slug': 'cook-islands', 'ISO2': 'CK'},
 {'Country': 'Wallis and Futuna Islands',
  'Slug': 'wallis-and-futuna-islands',
  'ISO2': 'WF'},
 {'Country': 'Bouvet Island', 'Slug': 'bouvet-island', 'ISO2': 'BV'},
 {'Country': 'Macao, SAR China', 'Slug': 'macao-sar-china', 'ISO2': 'MO'},
 {'Country': 'Benin', 'Slug': 'benin', 'ISO2': 'BJ'},
 {'Country': 'Mexico', 'Slug': 'mexico', 'ISO2': 'MX'},
 {'Country': 'Austria', 'Slug': 'austria', 'ISO2': 'AT'},
 {'Country': "Côte d'Ivoire", 'Slug': 'cote-divoire', 'ISO2': 'CI'},
 {'Country': 'Martinique', 'Slug': 'martinique', 'ISO2': 'MQ'},
 {'Country': 'Poland', 'Slug': 'poland', 'ISO2': 'PL'},
 {'Country': 'Saint-Martin (French part)',
  'Slug': 'saint-martin-french-part',
  'ISO2': 'MF'},
 {'Country': 'Virgin Islands, US', 'Slug': 'virgin-islands', 'ISO2': 'VI'},
 {'Country': 'Anguilla', 'Slug': 'anguilla', 'ISO2': 'AI'},
 {'Country': 'Armenia', 'Slug': 'armenia', 'ISO2': 'AM'},
 {'Country': 'Bosnia and Herzegovina',
  'Slug': 'bosnia-and-herzegovina',
  'ISO2': 'BA'},
 {'Country': 'Gabon', 'Slug': 'gabon', 'ISO2': 'GA'},
 {'Country': 'Isle of Man', 'Slug': 'isle-of-man', 'ISO2': 'IM'},
 {'Country': 'Nicaragua', 'Slug': 'nicaragua', 'ISO2': 'NI'},
 {'Country': 'Turks and Caicos Islands',
  'Slug': 'turks-and-caicos-islands',
  'ISO2': 'TC'},
 {'Country': 'Ukraine', 'Slug': 'ukraine', 'ISO2': 'UA'},
 {'Country': 'Cocos (Keeling) Islands',
  'Slug': 'cocos-keeling-islands',
  'ISO2': 'CC'},
 {'Country': 'Antarctica', 'Slug': 'antarctica', 'ISO2': 'AQ'},
 {'Country': 'Tajikistan', 'Slug': 'tajikistan', 'ISO2': 'TJ'},
 {'Country': 'Zimbabwe', 'Slug': 'zimbabwe', 'ISO2': 'ZW'},
 {'Country': 'Burkina Faso', 'Slug': 'burkina-faso', 'ISO2': 'BF'},
 {'Country': 'Sweden', 'Slug': 'sweden', 'ISO2': 'SE'},
 {'Country': 'New Zealand', 'Slug': 'new-zealand', 'ISO2': 'NZ'},
 {'Country': 'South Africa', 'Slug': 'south-africa', 'ISO2': 'ZA'},
 {'Country': 'Tonga', 'Slug': 'tonga', 'ISO2': 'TO'},
 {'Country': 'Kazakhstan', 'Slug': 'kazakhstan', 'ISO2': 'KZ'},
 {'Country': 'Australia', 'Slug': 'australia', 'ISO2': 'AU'},
 {'Country': 'Grenada', 'Slug': 'grenada', 'ISO2': 'GD'},
 {'Country': 'Haiti', 'Slug': 'haiti', 'ISO2': 'HT'},
 {'Country': 'Guadeloupe', 'Slug': 'guadeloupe', 'ISO2': 'GP'},
 {'Country': 'Nauru', 'Slug': 'nauru', 'ISO2': 'NR'},
 {'Country': 'Guernsey', 'Slug': 'guernsey', 'ISO2': 'GG'},
 {'Country': 'Liberia', 'Slug': 'liberia', 'ISO2': 'LR'},
 {'Country': 'Spain', 'Slug': 'spain', 'ISO2': 'ES'},
 {'Country': 'Angola', 'Slug': 'angola', 'ISO2': 'AO'},
 {'Country': 'Greenland', 'Slug': 'greenland', 'ISO2': 'GL'},
 {'Country': 'Netherlands', 'Slug': 'netherlands', 'ISO2': 'NL'},
 {'Country': 'Peru', 'Slug': 'peru', 'ISO2': 'PE'},
 {'Country': 'Barbados', 'Slug': 'barbados', 'ISO2': 'BB'},
 {'Country': 'Morocco', 'Slug': 'morocco', 'ISO2': 'MA'},
 {'Country': 'Iceland', 'Slug': 'iceland', 'ISO2': 'IS'},
 {'Country': 'Turkmenistan', 'Slug': 'turkmenistan', 'ISO2': 'TM'},
 {'Country': 'Belgium', 'Slug': 'belgium', 'ISO2': 'BE'},
 {'Country': 'Saint Lucia', 'Slug': 'saint-lucia', 'ISO2': 'LC'},
 {'Country': 'Sri Lanka', 'Slug': 'sri-lanka', 'ISO2': 'LK'},
 {'Country': 'Viet Nam', 'Slug': 'vietnam', 'ISO2': 'VN'},
 {'Country': 'Finland', 'Slug': 'finland', 'ISO2': 'FI'},
 {'Country': 'Hungary', 'Slug': 'hungary', 'ISO2': 'HU'},
 {'Country': 'Namibia', 'Slug': 'namibia', 'ISO2': 'NA'},
 {'Country': 'Chad', 'Slug': 'chad', 'ISO2': 'TD'},
 {'Country': 'Egypt', 'Slug': 'egypt', 'ISO2': 'EG'},
 {'Country': 'Iran, Islamic Republic of', 'Slug': 'iran', 'ISO2': 'IR'},
 {'Country': 'Jordan', 'Slug': 'jordan', 'ISO2': 'JO'},
 {'Country': 'British Virgin Islands',
  'Slug': 'british-virgin-islands',
  'ISO2': 'VG'},
 {'Country': 'Georgia', 'Slug': 'georgia', 'ISO2': 'GE'},
 {'Country': 'Romania', 'Slug': 'romania', 'ISO2': 'RO'},
 {'Country': 'South Georgia and the South Sandwich Islands',
  'Slug': 'south-georgia-and-the-south-sandwich-islands',
  'ISO2': 'GS'},
 {'Country': 'Brazil', 'Slug': 'brazil', 'ISO2': 'BR'},
 {'Country': 'Russian Federation', 'Slug': 'russia', 'ISO2': 'RU'},
 {'Country': 'Comoros', 'Slug': 'comoros', 'ISO2': 'KM'},
 {'Country': 'Macedonia, Republic of', 'Slug': 'macedonia', 'ISO2': 'MK'},
 {'Country': 'Fiji', 'Slug': 'fiji', 'ISO2': 'FJ'},
 {'Country': 'Bolivia', 'Slug': 'bolivia', 'ISO2': 'BO'},
 {'Country': 'Senegal', 'Slug': 'senegal', 'ISO2': 'SN'},
 {'Country': 'Singapore', 'Slug': 'singapore', 'ISO2': 'SG'},
 {'Country': 'Gibraltar', 'Slug': 'gibraltar', 'ISO2': 'GI'},
 {'Country': 'Northern Mariana Islands',
  'Slug': 'northern-mariana-islands',
  'ISO2': 'MP'},
 {'Country': 'Saudi Arabia', 'Slug': 'saudi-arabia', 'ISO2': 'SA'},
 {'Country': 'ALA Aland Islands', 'Slug': 'ala-aland-islands', 'ISO2': 'AX'},
 {'Country': 'Moldova', 'Slug': 'moldova', 'ISO2': 'MD'},
 {'Country': 'Switzerland', 'Slug': 'switzerland', 'ISO2': 'CH'},
 {'Country': 'Korea (North)', 'Slug': 'korea-north', 'ISO2': 'KP'},
 {'Country': 'Libya', 'Slug': 'libya', 'ISO2': 'LY'}]
df = pd.read_csv('./my_data/covid/tested_numbers_icmr_data.csv')
dates = df["Tested As Of"].values
daily_RTPCR_tets = df["Daily RTPCR tests"].values
temp = df["Total Samples Tested"].values
temp = df["Total Positive Cases"].values
df = pd.read_csv('./my_data/covid/state_wise_daily.csv')
df = pd.read_csv('https://api.covid19india.org/csv/latest/state_wise_daily.csv')
# temp_1 = normalize(temp_1,norm='max', axis=0)
state_labels = ['KA','TN','MH','DL','GJ','KL']
state_labels = ['MH','KA','AP','UP','TN','RJ','TG','AS','CH','KL','DL','BR',\
                'GJ','OR','WB','HR','JK','HP','MP','PB','NL','GA','JH','AN',\
                'MN','ML','SK','TR',
               ]
state_labels_= ['MH','KA','AP','UP','TN','RJ','TS','AS','CG','KL','DL','BR',\
                'GJ','OD','WB','HR','JK','HP','MP','PB','NL','GA','JH','AN',\
                'MN','ML','SK','TR'
               ]



clr_1 = 'tab:blue'
clr_2 = 'tab:orange'

cnt = 0
start_cases = []
start_decea = []
current_cases = []

for i in state_labels:
    cnt+= 1
    start_cases.append(np.where(np.cumsum(df[df['Status']=='Confirmed'][i].values)>5)[0][0])
    start_decea.append(np.where(np.cumsum(df[df['Status']=='Deceased'][i].values)>5)[0][0])
    current_cases.append(df[df['Status']=='Confirmed'][i].values[-1])

indx = np.argsort(current_cases)[::-1]   

fig = plt.subplots(figsize=[50,30])
cnt = 0
all_states_cases = []
all_states_decea = []

plt.xkcd()
for i in indx:
    cnt+= 1
    ax1 = plt.subplot(4,7,cnt)
    ax2 = ax1.twinx()  
    
    temp_1 = medfilt(df[df['Status']=='Confirmed'][state_labels[i]].values,3)
    all_states_cases.append(temp_1/max(temp_1))
#     temp_1 = savgol_filter(df[df['Status']=='Confirmed'][state_labels[i]].values,window_length=7, polyorder=1,\
#                            deriv=0, delta=1.0, axis=0, mode='nearest')
    
    temp_2 = medfilt(df[df['Status']=='Deceased'][state_labels[i]].values,3)
    all_states_decea.append(temp_2/(max(temp_2)))
#     temp_2 = savgol_filter(df[df['Status']=='Deceased'][state_labels[i]].values,window_length=7, polyorder=1,\
#                            deriv=0, delta=1.0, axis=0, mode='nearest')

    ax1.plot(np.arange(0,len(temp_1),1),temp_1,color=clr_1, linewidth=3)
    ax1.spines['right'].set_color('none')
    ax1.spines['left'].set_color('none')
    ax1.spines['top'].set_color('none')
    ax1.spines['bottom'].set_color('gray')
    ax1.tick_params(axis='y', colors=clr_1)
    ax2.tick_params(axis='x', colors='gray')
    ax1.text(0,max(temp_1)-0.0*max(temp_1),'Indian State: '+state_labels_[i],fontsize=12,color='tab:red',alpha=0.9,
            fontweight='bold')
#     ,\bbox=dict(facecolor='gray', alpha=0.2))
    ax1.text(0,max(temp_1)-0.1*max(temp_1),'daily cases',fontsize=14,color=clr_1)
    ax1.text(0,max(temp_1)-0.15*max(temp_1),'daily deceased',fontsize=14,color=clr_2)
    ax1.text(0,max(temp_1)-0.3*max(temp_1),'For days since:\n'+ df['Date'][0].split('-20')[0] +' to '+\
             df['Date'][len(df)-1].split('-20')[0],fontsize=14,color='black',alpha=0.75)
    ax1.text(0,max(temp_1)-0.5*max(temp_1),'With three sample\n median filtered',fontsize=10,color='gray',
                 rotation=0,alpha=0.6)
    ax1.text(0,max(temp_1)-0.9*max(temp_1),'data source:\n https://www.covid19india.org/',fontsize=10,color='gray',
                 rotation=0,alpha=0.4)
    if cnt == 4:
        ax1.text(len(temp_1)-10,0,'@neeksww',fontsize=14,color='gray',
                 rotation=90,alpha=0.3)
    ax1.grid(color='gray', linestyle='--', linewidth=1,alpha=.1)
    
    ax2.plot(np.arange(0,len(temp_2),1),temp_2,color=clr_2, linewidth=3)
    ax2.tick_params(axis='x', labelcolor=clr_2)    
    ax2.spines['top'].set_color('none')
    ax2.spines['right'].set_color('none')
    ax2.spines['left'].set_color('none')
    ax2.spines['bottom'].set_color('gray')
    ax2.tick_params(axis='y', colors=clr_2)

#     clr_face = (79/256,178/256,151/256)
#     ax1.set_facecolor(clr_face)
#     ax2.set_facecolor(clr_face)


fmt = 'png'
plt.savefig('/Users/neeks/Desktop/Documents/work/code/python_codes/notebookCodes/coswara/figures/'\
                  +'covid_status_india.'+fmt, dpi=300, format=fmt,transparent=False,bbox_inches='tight')
plt.show()
fig, ax = plt.subplots(figsize=[12,6])
for i in range(len(all_states_cases)):
    plt.plot(all_states_cases[i])
plt.show()
fig, ax = plt.subplots(figsize=[12,6])
im = ax.imshow(all_states_cases,origin='lower',aspect='auto',extent =\
               [0,temp_1.shape[0], 0, len(all_states_cases)],
               cmap='Blues',vmin = 0, vmax =1)
divider = make_axes_locatable(ax)
colorbar_ax = fig.add_axes([.95, 0.1, 0.015, 0.5])
fig.colorbar(im, cax=colorbar_ax)
plt.show()
fig, ax = plt.subplots(figsize=[12,6])
im = ax.imshow(all_states_decea,origin='lower',aspect='auto',extent =\
               [0,temp_1.shape[0], 0, len(all_states_cases)],
               cmap='Blues',vmin = 0, vmax =1)
divider = make_axes_locatable(ax)
colorbar_ax = fig.add_axes([.95, 0.1, 0.015, 0.5])
fig.colorbar(im, cax=colorbar_ax)
plt.show()
df
Date Date_YMD Status TT AN AP AR AS BR CH ... PB RJ SK TN TG TR UP UT WB UN
0 14-Mar-20 2020-03-14 Confirmed 81 0 1 0 0 0 0 ... 1 3 0 1 1 0 12 0 0 0
1 14-Mar-20 2020-03-14 Recovered 9 0 0 0 0 0 0 ... 0 1 0 0 0 0 4 0 0 0
2 14-Mar-20 2020-03-14 Deceased 2 0 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
3 15-Mar-20 2020-03-15 Confirmed 27 0 0 0 0 0 0 ... 0 1 0 0 2 0 1 0 0 0
4 15-Mar-20 2020-03-15 Recovered 4 0 0 0 0 0 0 ... 0 2 0 0 1 0 0 0 0 0
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
679 26-Oct-20 2020-10-26 Recovered 63734 14 3972 231 2832 1087 63 ... 326 2226 5 4014 1432 183 2441 700 3889 0
680 26-Oct-20 2020-10-26 Deceased 485 0 19 2 2 9 4 ... 8 14 1 32 4 0 20 8 59 0
681 27-Oct-20 2020-10-27 Confirmed 43034 21 2901 81 403 678 67 ... 346 1796 23 2522 837 36 1986 213 3957 0
682 27-Oct-20 2020-10-27 Recovered 58428 22 4352 115 2443 1237 49 ... 463 2066 4 4029 1554 84 2335 422 3917 0
683 27-Oct-20 2020-10-27 Deceased 517 0 19 1 6 7 1 ... 13 14 2 27 4 1 38 6 58 0

684 rows × 42 columns

print(indx[::-1])
print(indx)
[23 26 27 20  8 25 24 21 17 22 19  7 16 18 11  6 12 13 15  5  3  4  2  1
 14 10  0  9]
[ 9  0 10 14  1  2  4  3  5 15 13 12  6 11 18 16  7 19 22 17 21 24 25  8
 20 27 26 23]
fig, ax = plt.subplots(figsize=(6,4))
im = ax.imshow(XdB,origin='lower',aspect='auto',extent = [times[0], times[-1], 0, fs/2/1e3],
               cmap='RdBu_r',vmin = 0, vmax =-100)
divider = make_axes_locatable(ax)
colorbar_ax = fig.add_axes([.95, 0.1, 0.015, 0.5])
fig.colorbar(im, cax=colorbar_ax)
ax.set_xlim(times[0],times[-1])
# ax.set_xlim(.2,3)
ax.set_ylim(-.1,4)
ax.set_xlabel('TIME [in s]')
ax.set_ylabel('FREQ [in kHz]')
sns.despine(offset = 0.01,trim=False)
plt.show()
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-36-55e68836f22d> in <module>
      1 fig, ax = plt.subplots(figsize=(6,4))
----> 2 im = ax.imshow(XdB,origin='lower',aspect='auto',extent = [times[0], times[-1], 0, fs/2/1e3],
      3                cmap='RdBu_r',vmin = 0, vmax =-100)
      4 divider = make_axes_locatable(ax)
      5 colorbar_ax = fig.add_axes([.95, 0.1, 0.015, 0.5])

NameError: name 'XdB' is not defined
# fatalities per-day

data = [710000/365, 420000/365, 180000/365, 140000/365, 7665/7]
label = ['Infants', 'TB', 'Traffic\n Accident', 'Suicide', 'COVID-19']

fig = plt.subplots(figsize=[9,5])

# Example data
ax = plt.subplot(1,1,1)
ax.barh(np.arange(0,len(label)), data, hatch="\\\\",color='None',edgecolor='tab:red',height=.35)
ax.barh(np.arange(0,len(label)), data, color='None',edgecolor='gray',height=.35)
ax.set_yticks(y_pos)
ax.set_yticklabels(label)
ax.invert_yaxis()  # labels read top-to-bottom
ax.set_xlabel('NUMBER OF CASUALTIES PER DAY')
ax.set_title('COMPARING VARIOUS CAUSES OF PER-DAY CASUALTIES IN INDIA')
ax.spines['top'].set_color('none')
ax.spines['right'].set_color('none')
ax.spines['left'].set_color('gray')
ax.spines['bottom'].set_color('gray')
plt.xticks(fontsize=13)
plt.yticks(fontsize=13)
plt.text(1150,4.25,'*Computed only over\n week ending 27/09',color='gray')
ax.grid(color='gray', linestyle='--', linewidth=2,alpha=.1)
fmt = 'png'
plt.savefig('/Users/neeks/Desktop/Documents/work/code/python_codes/notebookCodes/coswara/figures/'\
                  +'covid_status_india_casuality_per_day.'+fmt, dpi=300, format=fmt,transparent=False,bbox_inches='tight')
plt.show()
# read biadWatch data
biasWatch_india_faculty.csv